:root{
  --bg:#070b17;--bg2:#0b1020;--card:rgba(255,255,255,.92);--card-dark:rgba(15,23,42,.78);--glass:rgba(255,255,255,.08);
  --text:#0f172a;--text-invert:#f8fafc;--muted:#64748b;--muted-invert:#a7b3c7;--line:rgba(148,163,184,.25);
  --blue:#2563eb;--cyan:#06b6d4;--violet:#7c3aed;--green:#10b981;--amber:#f59e0b;--red:#ef4444;--pink:#ec4899;
  --shadow:0 24px 70px rgba(2,6,23,.18);--radius:24px;--radius2:16px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at 10% 0%,#13244b 0,#070b17 32%,#060914 100%);color:var(--text);min-height:100vh}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:none}.bg-orb{position:fixed;filter:blur(50px);opacity:.4;pointer-events:none;z-index:0}.orb-a{width:420px;height:420px;border-radius:999px;background:#2563eb;left:220px;top:-130px}.orb-b{width:360px;height:360px;border-radius:999px;background:#7c3aed;right:-90px;bottom:5vh}.app-shell{position:relative;z-index:1;display:grid;grid-template-columns:292px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;background:linear-gradient(180deg,rgba(15,23,42,.88),rgba(15,23,42,.66));border-right:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px);overflow:auto}.brand{display:flex;align-items:center;gap:12px;color:#fff;margin:0 0 22px}.brand:hover{color:#fff}.brand-mark{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,#38bdf8,#7c3aed);display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 18px 32px rgba(37,99,235,.35)}.brand strong{display:block;font-size:15px;letter-spacing:.2px}.brand small{display:block;color:#b8c3d7;font-size:12px;margin-top:2px}.side-nav{display:flex;flex-direction:column;gap:7px}.side-nav a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:15px;color:#cbd5e1;font-weight:700;font-size:13px;border:1px solid transparent}.side-nav a:hover,.side-nav a.active{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.12)}.nav-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.08);font-size:12px;color:#dbeafe}.sidebar-card{margin-top:22px;padding:16px;border-radius:20px;background:linear-gradient(135deg,rgba(37,99,235,.20),rgba(124,58,237,.16));border:1px solid rgba(255,255,255,.1);color:#dbeafe}.sidebar-card span{display:block;font-size:11px;color:#93c5fd;text-transform:uppercase;letter-spacing:.08em}.sidebar-card strong{display:block;color:#fff;margin:4px 0 6px}.sidebar-card p{margin:0;color:#b8c3d7;font-size:12px;line-height:1.45}.content-shell{min-width:0}.topbar{padding:24px 28px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;color:#fff}.topbar h1{margin:6px 0 0;font-size:30px;letter-spacing:-.04em}.breadcrumb{font-size:12px;color:#a7b3c7;font-weight:700}.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.container{padding:10px 28px 28px;max-width:1540px;margin:0 auto}.auth-container{min-height:100vh;display:grid;place-items:center;padding:24px}.footer{color:#96a4bc;font-size:12px;text-align:center;padding:4px 24px 34px}.card,.metric,.panel-card{background:var(--card);border:1px solid rgba(255,255,255,.65);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:18px;animation:rise .45s ease both;animation-delay:var(--delay,0ms);backdrop-filter:blur(14px)}@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.card.dark{background:linear-gradient(135deg,rgba(15,23,42,.88),rgba(30,41,59,.82));color:#fff;border-color:rgba(255,255,255,.1)}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:1.15fr .85fr}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}@media(max-width:1180px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.side-nav{display:grid;grid-template-columns:repeat(2,1fr)}.topbar{flex-direction:column}.grid.four{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.container{padding:10px 14px 24px}.topbar{padding:18px 14px 8px}.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.side-nav{grid-template-columns:1fr}.kpi,.metrics-grid{grid-template-columns:1fr!important}}h1,h2,h3{margin-top:0}h1{font-size:30px;letter-spacing:-.04em}h2{font-size:21px;letter-spacing:-.02em;margin-bottom:12px}h3{font-size:16px;margin-bottom:8px}.lead{font-size:16px;line-height:1.62;color:#475569;max-width:880px}.muted{color:var(--muted)}.small{font-size:12px}.kicker{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#2563eb}.hero{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.hero-main{min-height:230px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(239,246,255,.93));position:relative;overflow:hidden}.hero-main:after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:80px;background:linear-gradient(135deg,rgba(37,99,235,.15),rgba(124,58,237,.18));transform:rotate(25deg)}.hero-main>*{position:relative;z-index:1}.hero h1{font-size:42px;max-width:860px}.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.hero-meta div{padding:13px;border:1px solid rgba(148,163,184,.25);border-radius:16px;background:rgba(255,255,255,.65)}.hero-meta span{display:block;color:#64748b;font-size:12px}.hero-meta strong{display:block;margin-top:4px}.health-card{display:flex;flex-direction:column;justify-content:space-between}.health-index{font-size:54px;font-weight:900;letter-spacing:-.06em}.ring{width:150px;height:150px;border-radius:999px;background:conic-gradient(#10b981 0 78%,rgba(148,163,184,.18) 78% 100%);display:grid;place-items:center;margin:auto}.ring span{width:104px;height:104px;border-radius:999px;background:#fff;display:grid;place-items:center;font-weight:900;font-size:24px}.metrics-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.metric{padding:18px;border-radius:20px;margin-bottom:0}.metric span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.metric strong{display:block;margin-top:8px;font-size:25px;letter-spacing:-.04em}.metric small{display:block;margin-top:7px;color:#64748b}.metric.blue{border-top:4px solid var(--blue)}.metric.cyan{border-top:4px solid var(--cyan)}.metric.violet{border-top:4px solid var(--violet)}.metric.green{border-top:4px solid var(--green)}.metric.amber{border-top:4px solid var(--amber)}.metric.red{border-top:4px solid var(--red)}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.period-tabs{display:flex;gap:8px;flex-wrap:wrap}.period-tabs button{border:0;background:#eef2ff;color:#3730a3;padding:8px 11px;border-radius:999px;font-weight:800;cursor:pointer}.period-tabs button.active{background:#3730a3;color:#fff}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.summary-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:16px}.summary-item span{font-size:12px;color:#64748b;font-weight:900;text-transform:uppercase}.summary-item strong{display:block;margin:8px 0;color:#0f172a}.summary-item p{margin:0;color:#64748b;line-height:1.45}.table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:18px;background:#fff}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:12px 14px;border-bottom:1px solid #eef2f7;vertical-align:top}th{background:#f8fafc;text-align:left;color:#475569;font-size:11px;text-transform:uppercase;letter-spacing:.07em;position:sticky;top:0;z-index:1}tr:hover td{background:#fbfdff}.status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-weight:900;font-size:12px;white-space:nowrap}.status.ok{background:#dcfce7;color:#166534}.status.good{background:#dbeafe;color:#1d4ed8}.status.danger{background:#fee2e2;color:#991b1b}.status.neutral{background:#f1f5f9;color:#475569}.pill{display:inline-flex;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0;padding:4px 9px;font-size:12px;font-weight:800;color:#475569}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#2563eb,#7c3aed);border:0;color:#fff;border-radius:14px;padding:10px 14px;font-weight:900;cursor:pointer;box-shadow:0 14px 30px rgba(37,99,235,.18)}.btn:hover,button:hover{filter:brightness(1.03);transform:translateY(-1px)}.btn.secondary{background:#e2e8f0;color:#0f172a;box-shadow:none}.btn.ghost{background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:none}.btn.subtle{background:rgba(15,23,42,.45);color:#e2e8f0;border:1px solid rgba(255,255,255,.10);box-shadow:none}.btn.good{background:linear-gradient(135deg,#059669,#10b981)}.btn.danger{background:linear-gradient(135deg,#dc2626,#f97316)}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.notice{padding:13px 15px;border-radius:18px;background:#ecfeff;border:1px solid #a5f3fc;color:#155e75;line-height:1.45}.warn-note{padding:13px 15px;border-radius:18px;background:#fffbeb;border:1px solid #fde68a;color:#92400e}.danger-note{padding:13px 15px;border-radius:18px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.live-dot{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:rgba(16,185,129,.14);color:#bbf7d0;border:1px solid rgba(16,185,129,.25);padding:8px 10px;font-weight:900;font-size:12px}.live-dot i{width:8px;height:8px;border-radius:99px;background:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.12)}.user-chip{display:inline-flex;border-radius:999px;background:rgba(255,255,255,.10);color:#e2e8f0;border:1px solid rgba(255,255,255,.12);padding:8px 10px;font-size:12px;font-weight:800}.bar{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-top:8px}.bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#06b6d4)}.split-list{display:grid;gap:10px}.list-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}.list-row strong{display:block}.list-row small{color:#64748b}.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.pipe-step{padding:14px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0}.pipe-step span{font-size:12px;color:#64748b;font-weight:900}.pipe-step strong{display:block;margin-top:6px}.kanban{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.kanban-col{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:12px}.task-card{background:#fff;border:1px solid #e2e8f0;border-radius:15px;padding:12px;margin-top:10px}.task-card strong{display:block}.task-card small{display:block;color:#64748b;margin-top:6px}.upload{border:2px dashed #bfdbfe;background:linear-gradient(135deg,#eff6ff,#fff);border-radius:22px;padding:24px;text-align:center}.upload input{display:block;margin:16px auto}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#4b5563;font-weight:800}.form-grid input{padding:11px 12px;border:1px solid #d1d5db;border-radius:12px;font-size:14px}.full{grid-column:1 / -1}.code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#f1f5f9;padding:2px 6px;border-radius:7px}.login{max-width:430px;margin:0 auto}.login input{width:100%;padding:13px;border:1px solid #d1d5db;border-radius:14px;margin:8px 0 14px}.login .brand-login{display:flex;align-items:center;gap:12px;margin-bottom:18px}.good-text{color:#059669;font-weight:900}.bad-text{color:#dc2626;font-weight:900}.editable-table input,.editable-table textarea{width:100%;min-width:90px;border:1px solid #d1d5db;border-radius:10px;padding:8px;font-size:12px;background:#fff}.editable-table textarea{min-width:260px;resize:vertical}.editable-table .code-input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:900}.center{text-align:center}.right{text-align:right}.conf{display:inline-block;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:900}.conf.high{background:#dcfce7;color:#166534}.conf.mid{background:#fef3c7;color:#92400e}.conf.low{background:#fee2e2;color:#991b1b}.errors{background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:12px 16px}.errors.danger{background:#fef2f2;border-color:#fecaca}.errors ul{margin:8px 0 0 20px;padding:0}.icon-tile{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,#eff6ff,#eef2ff);display:grid;place-items:center;color:#2563eb;font-weight:900}.panel-card{margin-bottom:0}.module-card{display:flex;gap:13px;align-items:flex-start}.module-card p{margin:4px 0 0;color:#64748b;line-height:1.45}
.admin-form .form-grid label textarea,.admin-form .form-grid label select{padding:11px 12px;border:1px solid #d1d5db;border-radius:12px;font-size:14px;background:#fff}
.admin-form .form-grid label select{min-height:44px}
.admin-form .checkbox-line{flex-direction:row!important;align-items:center;gap:10px}
.admin-form textarea{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:11px 12px;font-size:14px;resize:vertical}
.admin-link-card{text-decoration:none;color:inherit;display:block;margin-bottom:0}
.admin-link-card:hover{transform:translateY(-2px)}
.admin-link-grid .admin-link-card{padding:18px}
.perm-module{margin-top:18px}
.perm-module-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.perm-check{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;cursor:pointer}
.perm-check input{margin-top:3px}
.perm-check strong{display:block;font-size:13px}
.perm-check small{display:block;margin-top:4px}
.compact-table th,.compact-table td{padding:8px 10px}
.small-btn{padding:7px 10px!important;font-size:12px!important;border-radius:10px!important}
.matrix-card{padding:18px 18px 22px}
.matrix-scroll{overflow:auto;max-height:70vh;border:1px solid #e2e8f0;border-radius:16px;background:#fff}
.matrix-table{font-size:12px;min-width:900px}
.matrix-table th,.matrix-table td{padding:8px 10px;white-space:nowrap}
.matrix-module-row td{background:#f8fafc;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#475569}
.matrix-role-col{min-width:90px;text-align:center;vertical-align:bottom}
.matrix-perm-cell{white-space:normal;min-width:220px;max-width:280px}
.sticky-col{position:sticky;left:0;background:#fff;z-index:2;box-shadow:2px 0 0 #eef2f7}
.matrix-module-row .sticky-col{background:#f8fafc}
.payload-details summary{cursor:pointer;color:#2563eb;font-weight:700;font-size:12px}
.payload-pre{max-width:360px;max-height:180px;overflow:auto;background:#0f172a;color:#e2e8f0;padding:10px;border-radius:10px;font-size:11px;margin:8px 0 0;white-space:pre-wrap;word-break:break-word}
@media(max-width:1180px){.hero{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(3,1fr)}.summary-grid,.pipeline,.kanban{grid-template-columns:1fr}}
.period-tabs a{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(15,23,42,.5);color:var(--text);font-size:13px;margin-left:6px}
.period-tabs a.active,.period-tabs a:hover{background:rgba(37,99,235,.35);border-color:rgba(96,165,250,.45);color:#fff}
.finance-shell{padding-bottom:8px}
.finance-head{margin-bottom:4px}
.finance-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;padding:6px;border-radius:14px;background:#eef2f7;border:1px solid #dbe3ee;box-shadow:inset 0 1px 0 #fff}
.finance-tabs a.finance-tab{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 20px;border-radius:10px;border:1px solid transparent;background:transparent;color:#475569!important;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none!important;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
.finance-tabs a.finance-tab:hover{color:#1e293b!important;background:#f8fafc;border-color:#cbd5e1;text-decoration:none!important}
.finance-tabs a.finance-tab.active{color:#1d4ed8!important;background:#fff;border-color:#bfdbfe;box-shadow:0 4px 14px rgba(37,99,235,.15)}
.finance-tab-label{white-space:nowrap}
.finance-settings-form{margin-top:12px}
.finance-settings-form .field-hint{display:block;margin-top:6px;color:#64748b;font-size:12px;line-height:1.45}
.finance-settings-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}
.switch-label{font-weight:600;color:#0f172a}
.switch{position:relative;display:inline-block;width:52px;height:30px;flex:0 0 52px}
.switch input{opacity:0;width:0;height:0;position:absolute}
.switch-slider{position:absolute;inset:0;cursor:pointer;background:#cbd5e1;border-radius:999px;transition:background .2s ease}
.switch-slider:before{content:"";position:absolute;left:4px;top:4px;width:22px;height:22px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(15,23,42,.2);transition:transform .2s ease}
.switch input:checked+.switch-slider{background:linear-gradient(135deg,#2563eb,#4f46e5)}
.switch input:checked+.switch-slider:before{transform:translateX(22px)}
.sheet-embed-wrap iframe{display:block;width:100%}
.sheet-calendar-card{text-align:center}
.sheet-open-panel{display:flex;justify-content:center;margin:24px 0 8px}
.sheet-open-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:min(100%,420px);min-height:148px;padding:28px 36px;border-radius:18px;border:1px solid #86efac;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff!important;text-decoration:none!important;box-shadow:0 14px 36px rgba(34,197,94,.28);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.sheet-open-btn:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(34,197,94,.34);filter:brightness(1.03);color:#fff!important;text-decoration:none!important}
.sheet-open-btn.is-disabled{border-color:#e2e8f0;background:linear-gradient(180deg,#f1f5f9,#e2e8f0);color:#94a3b8!important;box-shadow:none;cursor:not-allowed;pointer-events:none}
.sheet-open-icon{font-size:34px;line-height:1;opacity:.95}
.sheet-open-text{font-size:22px;font-weight:800;letter-spacing:.01em}
.sheet-open-sub{font-size:13px;font-weight:500;opacity:.92;max-width:360px;line-height:1.4}
@media(max-width:720px){.finance-tabs{width:100%}.finance-tabs a.finance-tab{flex:1 1 calc(50% - 6px);padding:10px 12px;font-size:13px}}
.app-shell--auth{display:flex;align-items:center;justify-content:center;min-height:100vh;grid-template-columns:1fr!important}
.app-shell--auth .auth-container{width:100%;max-width:440px;padding:24px;margin:0 auto}
.app-shell--auth .card.login{width:100%;margin:0}
.app-shell--auth .brand-login{margin-bottom:20px}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:0}
.brand-mark:not(:has(img)){width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-weight:800;font-size:12px;align-items:center;justify-content:center}
.brand-logo-img{display:block;width:42px;height:42px;object-fit:contain;border-radius:10px}
.brand-login .brand-logo-img{width:48px;height:48px}
.spot-steps,.spot-checklist{margin:12px 0 0;padding-left:22px;line-height:1.7}
.spot-check{border-left:4px solid var(--border)}
.spot-check--ok{border-left-color:#22c55e;background:rgba(34,197,94,.08)}
.spot-check--warn{border-left-color:#eab308;background:rgba(234,179,8,.1)}
.spot-check--error{border-left-color:#ef4444;background:rgba(239,68,68,.1)}
.spot-check__title{font-weight:600;margin:8px 0 12px}
.spot-recognition{margin:0;padding-left:20px;line-height:1.8}
.spot-form-group{margin-top:18px;margin-bottom:8px;font-size:1rem;color:var(--muted)}
.spot-entity-block{margin:16px 0;padding:16px 18px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(15,23,42,.35)}
.spot-entity-block h3{margin:0 0 6px;font-size:1.05rem}
.spot-entity-fields{padding-top:4px}
.crm-spoiler{border:1px solid var(--border);border-radius:14px;margin-bottom:14px;background:var(--card);overflow:hidden}
.crm-spoiler.card{padding:0;border:1px solid var(--border)}
.crm-spoiler>summary{cursor:pointer;padding:14px 18px;font-weight:700;list-style:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.crm-spoiler>summary::-webkit-details-marker{display:none}
.crm-spoiler>summary::before{content:'▸';color:var(--muted);transition:transform .15s}
.crm-spoiler[open]>summary::before{transform:rotate(90deg)}
.crm-spoiler__body{padding:0 18px 18px}
.crm-spoiler__status{font-weight:500;font-size:12px;color:var(--muted);margin-left:auto}
.legal-entity-form .crm-spoiler{margin-bottom:12px}
.field-hint{display:block;margin-top:4px;font-size:12px;color:var(--muted);line-height:1.4}
.inline-field-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.inline-field-actions input{flex:1;min-width:120px}
.btn.small{padding:6px 10px;font-size:12px}
.spot-subtitle{margin:16px 0 8px;font-size:.95rem}
.spot-actions-bar{position:sticky;bottom:0;z-index:5}
@media (min-width:900px){
  .legal-entity-form .crm-spoiler__body.form-grid,
  #spot-meta-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
  .legal-entity-form .full,
  #spot-meta-form .full{grid-column:1/-1}
}
@media (max-width:899px){
  .inline-field-actions{flex-direction:column;align-items:stretch}
}

/* Alerts & preflight */
.alert{padding:13px 15px;border-radius:14px;border:1px solid;line-height:1.5;font-size:14px}
.alert ul{margin:8px 0 0;padding-left:20px}
.alert--error{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.alert--warning{background:#fffbeb;border-color:#fde68a;color:#92400e}
.alert--success{background:#ecfdf5;border-color:#a7f3d0;color:#166534}
.alert--info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.auto-fix-note{color:#1e40af}
.status-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.3}
.status-badge--ok,.status-badge--success{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}
.status-badge--warn,.status-badge--warning{background:#fef3c7;border:1px solid #fde68a;color:#92400e}
.status-badge--error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}
.status-badge--info{background:#dbeafe;border:1px solid #bfdbfe;color:#1e40af}
.status-badge--mini{font-size:11px;padding:3px 8px;margin:2px 4px 2px 0;display:inline-block}
.preflight-summary{padding:22px 24px 24px}
.preflight-summary__head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:14px 16px;
  margin-bottom:20px;
  padding-bottom:18px;
  border-bottom:1px solid #e2e8f0;
}
.preflight-summary__message{margin:0;color:#475569;font-size:14px;flex:1 1 240px;line-height:1.5}
.preflight-counters{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 20px;
}
.preflight-counter{min-width:128px;padding:12px 16px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc}
.preflight-counter__num{display:block;font-size:24px;font-weight:800;line-height:1.1}
.preflight-counter__label{display:block;margin-top:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}
.preflight-counter--error .preflight-counter__num{color:#991b1b}
.preflight-counter--warning .preflight-counter__num{color:#92400e}
.preflight-counter--info .preflight-counter__num{color:#1d4ed8}
.preflight-errors-block{margin-top:0;padding:16px 18px}
.preflight-errors-block strong{display:block;margin-bottom:4px}
.preflight-error-list{margin:10px 0 0;padding-left:22px}
.preflight-error-list li{margin-bottom:6px}
.spot-admin-diag ul{margin:8px 0 0;padding-left:20px}
.spot-admin-diag li{margin-bottom:4px}
.preflight-more{margin-top:8px;font-size:13px}
.preflight-more summary{cursor:pointer;color:#2563eb;font-weight:700}
.auto-fix-panel{margin:0 0 16px;padding:14px 16px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}
.auto-fix-list{margin:8px 0 0;padding-left:20px;color:#334155;line-height:1.6}
.corrections-cell{max-width:260px}
.corrections-cell .status-badge{white-space:normal;text-align:left}
.preflight-details__body{padding-top:4px}
.warn-list{margin:0;padding-left:20px;color:#92400e}

/* Modern select controls (global CRM) */
select,
.form-select,
.filter-select,
select.input,
select.control,
.form-grid select,
.admin-form select,
label select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  min-height:42px;height:auto;
  padding:10px 40px 10px 14px;
  border:1px solid #cbd5e1;
  border-radius:11px;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:16px;
  color:#0f172a;
  font-size:14px;
  font-weight:600;
  line-height:1.35;
  cursor:pointer;
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;
  width:100%;
  max-width:100%;
}
select:hover,
.form-grid select:hover,
.admin-form select:hover{border-color:#94a3b8;background-color:#fbfdff}
select:focus,
.form-grid select:focus,
.admin-form select:focus{
  outline:none;
  border-color:#6366f1;
  box-shadow:0 0 0 3px rgba(99,102,241,.18);
}
select:disabled,
.form-grid select:disabled{background-color:#f1f5f9;color:#94a3b8;cursor:not-allowed;opacity:1}
select[multiple],
select[multiple].form-select,
select[multiple].filter-select{
  min-height:120px;
  height:auto;
  padding:10px 12px;
  background-image:none;
  border-radius:12px;
}
select[multiple] option{padding:6px 8px;border-radius:6px}
.form-grid label select{margin-top:0}
.pill.warning{background:#fef3c7;color:#92400e;border:1px solid #fde68a}
.pill.good{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}
.crm-spoiler{border:1px solid #e2e8f0;border-radius:14px;margin-bottom:14px;background:var(--card);overflow:hidden}
.crm-spoiler.card{padding:0;border:1px solid #e2e8f0}
.crm-spoiler>summary::before{color:#64748b}
.crm-spoiler__status{font-weight:600;font-size:12px;color:#64748b;margin-left:auto}
.spot-actions-bar{box-shadow:0 -4px 24px rgba(15,23,42,.08)}
@media (max-width:760px){
  .preflight-counters{display:grid;grid-template-columns:1fr}
  .corrections-cell{max-width:none}
}

/* SPOT shipment card — hero, KPI, sections */
.btn-primary{background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;box-shadow:0 14px 30px rgba(37,99,235,.22)}
.btn-success{background:linear-gradient(135deg,#059669,#10b981);color:#fff;box-shadow:0 14px 30px rgba(16,185,129,.22)}
.btn-secondary{background:#e2e8f0;color:#0f172a;box-shadow:none;border:1px solid #cbd5e1}
.btn-secondary:hover{background:#f1f5f9}
.btn-danger{background:linear-gradient(135deg,#dc2626,#f97316);color:#fff}
.btn-small,.btn.small{padding:6px 10px;font-size:12px;border-radius:10px}
.btn--blocked{opacity:.72;cursor:not-allowed;pointer-events:auto}
.spot-hero{padding:22px 24px;margin-bottom:14px}
.spot-hero__grid{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(280px,1.4fr) minmax(200px,.75fr);gap:20px;align-items:start}
.spot-hero__title{margin:0 0 6px;font-size:clamp(1.35rem,2.2vw,1.75rem);letter-spacing:-.03em;line-height:1.2}
.spot-hero__file{margin:0 0 14px;color:#64748b;font-size:13px;line-height:1.45;word-break:break-word}
.spot-hero__steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.spot-hero__step{font-size:12px;font-weight:700;color:#94a3b8;padding-left:18px;position:relative}
.spot-hero__step::before{content:'';position:absolute;left:0;top:5px;width:8px;height:8px;border-radius:999px;background:#cbd5e1}
.spot-hero__step.is-done{color:#166534}
.spot-hero__step.is-done::before{background:#22c55e}
.spot-hero__step.is-current{color:#1d4ed8}
.spot-hero__step.is-current::before{background:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.2)}
.spot-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.spot-kpi-card{padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;min-height:72px}
.spot-kpi-card--accent{background:linear-gradient(135deg,#eff6ff,#eef2ff);border-color:#bfdbfe}
.spot-kpi-card__value{font-size:clamp(1.15rem,2vw,1.45rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;color:#0f172a}
.spot-kpi-card__label{margin-top:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;line-height:1.3}
.spot-status-panel{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.spot-hero__buttons,.spot-action-bar__buttons{display:flex;flex-direction:column;gap:8px;width:100%}
.spot-hero__buttons .btn,.spot-hero__buttons form,.spot-action-bar__buttons .btn,.spot-action-bar__buttons form{width:100%}
.spot-hero__buttons form,.spot-action-bar__buttons form{display:block;margin:0}
.spot-hero__buttons .btn,.spot-action-bar__buttons .btn{justify-content:center;width:100%}
.spot-badge{display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:800;line-height:1.3;border:1px solid transparent}
.spot-badge--ok,.spot-badge--success{background:#dcfce7;border-color:#bbf7d0;color:#166534}
.spot-badge--warning,.spot-badge--warn{background:#fef3c7;border-color:#fde68a;color:#92400e}
.spot-badge--error{background:#fee2e2;border-color:#fecaca;color:#991b1b}
.spot-badge--info{background:#dbeafe;border-color:#bfdbfe;color:#1e40af}
.spot-badge--muted{background:#f1f5f9;border-color:#e2e8f0;color:#475569}
.spot-badge--mini{font-size:11px;padding:3px 8px;font-weight:700}
.spot-section{margin-bottom:14px;padding:0}
.spot-section.card{padding:0}
.spot-section-header{font-weight:700}
.spot-section-body{padding-top:4px}
.spot-field-section{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #eef2f7}
.spot-field-section:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}
.spot-field-grid{display:grid;gap:12px 16px}
.spot-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.spot-two-col .full{grid-column:1/-1}
.spot-data-card{padding:14px 16px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}
.spot-data-card h4{margin:0 0 10px}
.spot-dl{margin:0;display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:6px 12px;font-size:13px;line-height:1.45}
.spot-dl dt{margin:0;color:#64748b;font-weight:700}
.spot-dl dd{margin:0;color:#0f172a;word-break:break-word}
.spot-dl--inline{grid-template-columns:minmax(120px,28%) 1fr}
.spot-form-save{margin-top:18px;padding-top:16px;border-top:1px solid #e2e8f0}
.spot-form-save .btn{min-width:200px}
.spot-goods-summary{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 12px;padding:10px 14px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;font-size:13px;color:#475569}
.spot-goods-summary strong{color:#0f172a}
.spot-goods-table table{font-size:12px}
.spot-goods-table td{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spot-goods-table td.corrections-cell{white-space:normal;max-width:200px}
.corrections-cell .spot-badge{white-space:normal;text-align:left;margin:2px 4px 2px 0}
.spot-autofix-summary .auto-fix-list{margin-top:0}
.spot-action-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:0 16px 16px;pointer-events:none;opacity:0;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease}
.spot-action-bar.is-visible{opacity:1;transform:none;pointer-events:auto}
.spot-action-bar__inner{max-width:1540px;margin:0 auto;padding:12px 16px;border-radius:16px;background:rgba(255,255,255,.96);border:1px solid #e2e8f0;box-shadow:0 -8px 32px rgba(15,23,42,.12);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.spot-action-bar__status{flex:0 0 auto}
.spot-action-bar__buttons{flex-direction:row;flex-wrap:wrap;width:auto}
.spot-action-bar__buttons .btn,.spot-action-bar__buttons form{width:auto}
.spot-action-bar__buttons .btn{min-width:140px}
body.spot-has-action-bar{padding-bottom:88px}
@media (min-width:900px){
  .spot-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spot-field-grid .full{grid-column:1/-1}
}
@media (max-width:1100px){
  .spot-hero__grid{grid-template-columns:1fr}
  .spot-status-panel{align-items:stretch}
  .spot-hero__buttons{flex-direction:row;flex-wrap:wrap}
  .spot-hero__buttons .btn,.spot-hero__buttons form{width:auto;flex:1 1 auto;min-width:140px}
  .spot-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
  .spot-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spot-two-col{grid-template-columns:1fr}
  .spot-hero__buttons{flex-direction:column}
  .spot-hero__buttons .btn,.spot-hero__buttons form{width:100%}
  .spot-action-bar__inner{flex-direction:column;align-items:stretch}
  .spot-action-bar__buttons{width:100%}
  .spot-action-bar__buttons .btn,.spot-action-bar__buttons form{width:100%}
}

/* SPOT start page */
.spot-start{display:flex;flex-direction:column;gap:14px}
.spot-start-hero{padding:22px 24px}
.spot-start-hero__grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,420px);gap:24px;align-items:start}
.spot-start-hero h1{margin:0 0 10px;font-size:clamp(1.4rem,2.5vw,1.85rem)}
.spot-start-hero .lead{margin:0 0 14px;font-size:15px;line-height:1.55;color:#475569}
.spot-start-steps{margin:0 0 14px;padding-left:20px;line-height:1.7;color:#334155;font-size:14px}
.spot-start-details{margin-top:8px;font-size:14px}
.spot-start-details summary{cursor:pointer;font-weight:700;color:#2563eb}
.spot-upload-card{padding:18px 20px;border-radius:16px;background:linear-gradient(135deg,#f8fafc,#eff6ff);border:1px solid #dbeafe}
.spot-upload-card h2{margin:0 0 14px;font-size:1.05rem}
.spot-upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px 16px;border:2px dashed #93c5fd;border-radius:16px;background:#fff;cursor:pointer;text-align:center;transition:border-color .15s,background .15s}
.spot-upload-dropzone:hover,.spot-upload-dropzone.is-dragover{border-color:#2563eb;background:#f8fbff}
.spot-upload-dropzone.has-file{border-color:#22c55e;background:#f0fdf4}
.spot-upload-dropzone input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0,0,0,0)}
.spot-upload-dropzone{position:relative}
.spot-upload-dropzone__icon{font-size:28px;line-height:1}
.spot-upload-dropzone__title{font-weight:800;color:#0f172a;font-size:14px}
.spot-upload-dropzone__hint{font-size:12px;color:#64748b}
.spot-upload-dropzone__file{font-size:13px;font-weight:700;color:#166534;word-break:break-all}
.spot-upload-submit{width:100%;margin-top:14px}
.spot-stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.spot-stat-card{padding:14px 16px;border-radius:14px;background:var(--card);border:1px solid #e2e8f0;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.spot-stat-card__value{font-size:1.6rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;color:#0f172a}
.spot-stat-card__label{margin-top:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;line-height:1.3}
.spot-stat-card--warning .spot-stat-card__value{color:#92400e}
.spot-stat-card--success .spot-stat-card__value{color:#166534}
.spot-stat-card--error .spot-stat-card__value{color:#991b1b}
.spot-stat-card--archive .spot-stat-card__value{color:#1e40af}
.spot-list-card{padding:20px 22px}
.spot-list-card__head{margin-bottom:14px}
.spot-list-card__head h2{margin:0}
.spot-filter-bar{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-end;margin-bottom:16px;padding:14px 16px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}
.spot-filter-bar__field{display:flex;flex-direction:column;gap:4px;min-width:130px}
.spot-filter-bar__field--grow{flex:1 1 180px;min-width:180px}
.spot-filter-bar__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}
.spot-filter-bar input,.spot-filter-bar select{min-height:38px;padding:8px 12px;border:1px solid #cbd5e1;border-radius:10px;font-size:13px;background:#fff}
.spot-filter-bar__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.spot-empty-state{padding:28px 16px;text-align:center;color:#64748b;border:1px dashed #cbd5e1;border-radius:14px;background:#fff}
.spot-shipment-table{margin-bottom:0}
.spot-shipment-table td,.spot-shipment-table th{font-size:12px;padding:10px 12px}
.spot-action-buttons{display:flex;flex-direction:column;gap:6px;min-width:120px}
.spot-action-buttons form{display:block;margin:0}
.spot-action-buttons .btn{width:100%;justify-content:center;font-size:11px;padding:6px 8px}
.spot-shipment-cards{display:none;gap:12px}
.spot-list-pagination{margin-top:16px;padding-top:14px;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.spot-list-pagination .pagination__info{font-size:13px;color:#64748b}
.spot-list-pagination .pagination__links{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.spot-list-pagination .pagination__link{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#334155;font-size:13px;font-weight:600;text-decoration:none;line-height:1}
.spot-list-pagination .pagination__link:hover{background:#f8fafc;border-color:#94a3b8;color:#0f172a}
.spot-list-pagination .pagination__link--active{background:#0f172a;border-color:#0f172a;color:#fff}
.spot-list-pagination .pagination__link--disabled{opacity:.45;cursor:default;background:#f8fafc}
.spot-list-pagination .pagination__gap{padding:0 4px;color:#94a3b8;font-size:13px;line-height:34px}
.spot-shipment-card{padding:14px 16px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}
.spot-shipment-card__head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.spot-shipment-card__date{font-size:11px;color:#64748b;white-space:nowrap}
.spot-shipment-card__file{margin:8px 0;font-size:12px;color:#475569;word-break:break-word}
.spot-shipment-card__meta{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:12px;color:#64748b;margin-bottom:10px}
.spot-shipment-card__badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.spot-status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.3;border:1px solid transparent;white-space:nowrap}
.spot-status-badge--draft{background:#f1f5f9;border-color:#e2e8f0;color:#475569}
.spot-status-badge--warning{background:#fef3c7;border-color:#fde68a;color:#92400e}
.spot-status-badge--error{background:#fee2e2;border-color:#fecaca;color:#991b1b}
.spot-status-badge--success{background:#dcfce7;border-color:#bbf7d0;color:#166534}
.spot-status-badge--archive{background:#dbeafe;border-color:#bfdbfe;color:#1e40af}
.spot-status-badge--muted{background:#f1f5f9;border-color:#e2e8f0;color:#64748b}
.spot-status-badge--mini{font-size:10px;padding:3px 8px}
@media (max-width:1100px){
  .spot-start-hero__grid{grid-template-columns:1fr}
  .spot-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
  .spot-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spot-shipment-table{display:none}
  .spot-shipment-cards{display:grid}
  .spot-filter-bar__field{min-width:100%;flex:1 1 100%}
}

/* Sidebar user greeting card */
.sidebar-user-card{
  margin:0 0 18px;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}
.sidebar-user-greeting{
  margin:0;
  font-size:14px;
  line-height:1.45;
  color:rgba(226,232,240,.92);
}
.sidebar-user-name{
  font-weight:700;
  color:#fff;
}
.sidebar-user-role{
  margin:8px 0 0;
  font-size:12px;
  line-height:1.4;
  color:rgba(148,163,184,.95);
}
.sidebar-user-empty{
  margin:10px 0 0;
  font-size:12px;
  line-height:1.4;
  color:#fbbf24;
}
@media (max-width:900px){
  .sidebar-user-card{margin-bottom:14px;padding:12px 14px}
}

/* SPOT missing data modal */
.spot-missing-data-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  width:100%;
  flex:1 1 100%;
  margin:4px 0 0;
  padding:12px 16px;
}
.spot-modal{
  position:fixed;
  inset:0;
  z-index:3000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px 16px;
  isolation:isolate;
}
.spot-modal.is-open{display:flex}
body.spot-modal-open{overflow:hidden}
body.spot-modal-open .spot-action-bar{
  opacity:0!important;
  pointer-events:none!important;
  visibility:hidden;
}
.spot-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.72);
  backdrop-filter:blur(4px);
}
.spot-modal__panel{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  width:min(820px,100%);
  max-height:min(92vh,calc(100vh - 48px));
  overflow:hidden;
  background:#fff;
  color:#0f172a;
  border-radius:18px;
  border:1px solid #e2e8f0;
  box-shadow:0 28px 80px rgba(2,6,23,.35);
}
.spot-modal__panel > form{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
}
.spot-modal__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-shrink:0;
  padding:18px 22px;
  border-bottom:1px solid #e2e8f0;
  background:#fff;
}
.spot-modal__header h2{
  margin:0;
  font-size:20px;
  line-height:1.3;
  color:#0f172a;
  letter-spacing:-.02em;
}
.spot-modal__close{
  border:0;
  background:#f1f5f9;
  width:36px;
  height:36px;
  border-radius:10px;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  color:#475569;
  flex-shrink:0;
}
.spot-modal__close:hover{background:#e2e8f0;color:#0f172a}
.spot-modal__body{
  flex:1 1 auto;
  overflow-y:auto;
  padding:18px 22px;
  background:#fff;
  -webkit-overflow-scrolling:touch;
}
.spot-modal__footer{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  flex-shrink:0;
  padding:14px 22px 18px;
  border-top:1px solid #e2e8f0;
  background:#f8fafc;
}
.spot-modal label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:13px;
  font-weight:700;
  color:#334155;
}
.spot-modal input,
.spot-modal textarea{
  width:100%;
  padding:11px 12px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  font-size:14px;
  background:#fff;
  color:#0f172a;
}
.spot-modal input:focus,
.spot-modal textarea:focus{
  outline:none;
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.15);
}
.spot-modal .muted,
.spot-modal .small{color:#64748b!important}
.spot-modal h3{color:#0f172a}
.spot-missing-block{
  margin-bottom:20px;
  padding-bottom:16px;
  border-bottom:1px solid #f1f5f9;
}
.spot-missing-block:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}
.spot-missing-block h3{margin:0 0 12px;font-size:16px}
.spot-missing-row{
  display:grid;
  gap:10px;
  margin-bottom:14px;
  padding:12px 14px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#f8fafc;
}
.spot-missing-row__label{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  color:#0f172a;
}
.spot-missing-row__label strong{color:#0f172a}
.spot-okei-quick{display:flex;gap:8px;flex-wrap:wrap}
.spot-okei-quick .btn{box-shadow:none;transform:none}
.spot-okei-quick .btn:hover{transform:none}
.spot-field-missing input,
.spot-field-missing textarea{border-color:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.2)}
.spot-field-hint{
  display:block;
  margin-top:6px;
  font-size:12px;
  font-weight:600;
  color:#475569;
}
.spot-goods-desc--editable{cursor:pointer;position:relative}
.spot-goods-desc .spot-edit-item-btn{
  margin-left:8px;
  padding:2px 8px;
  font-size:11px;
  vertical-align:middle;
}
.spot-goods-table tbody tr.spot-row--error{background:#fef2f2}
.spot-goods-table tbody tr.spot-row--error:hover{background:#fee2e2}
.spot-goods-table tbody tr.spot-row--warning{background:#fffbeb}
.spot-goods-table tbody tr.spot-row--warning:hover{background:#fef3c7}
.spot-goods-table tbody tr.spot-row--manual{background:#f5f3ff}
.spot-goods-table tbody tr.spot-row--manual:hover{background:#ede9fe}
.spot-goods-table tbody tr.spot-row--autofixed{background:#f0f9ff}
.spot-goods-table tbody tr.spot-row--autofixed:hover{background:#e0f2fe}
.spot-line-badge{
  display:inline-block;
  margin:0 4px 4px 0;
  padding:2px 7px;
  border-radius:999px;
  font-size:11px;
  font-weight:600;
  line-height:1.3;
  white-space:nowrap;
}
.spot-line-badge--error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.spot-line-badge--warning{background:#fef3c7;color:#92400e;border:1px solid #fde68a}
.spot-line-badge--manual{background:#ede9fe;color:#5b21b6;border:1px solid #ddd6fe}
.spot-line-badge--autofix{background:#e0f2fe;color:#075985;border:1px solid #bae6fd}
.spot-line-badge--muted{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}
.spot-line-badge--more{background:#f8fafc;color:#475569;border:1px dashed #cbd5e1}
.corrections-cell{max-width:260px}
.spot-edit-modal .spot-readonly-field{
  background:#f8fafc;
  color:#64748b;
  resize:vertical;
}
.spot-item-reset-form{
  padding:0 20px 16px;
  border-top:1px solid #e2e8f0;
  margin-top:-4px;
}
@media (max-width:760px){
  .spot-modal{padding:12px 10px}
  .spot-modal__panel{max-height:calc(100vh - 24px);border-radius:14px}
  .spot-modal__header,.spot-modal__body,.spot-modal__footer{padding-left:16px;padding-right:16px}
}
