.crpt-page{--crpt-blue:#0d63f2;--crpt-green:#14ad59;--crpt-red:#dc2626;display:flex;flex-direction:column;gap:20px;width:100%;min-width:0;max-width:100%;padding-bottom:28px;color:var(--ink);}
.crpt-page *{box-sizing:border-box;}
.crpt-breadcrumbs{font-size:12px;color:var(--muted);}
.crpt-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.crpt-title{font-size:24px;font-weight:900;letter-spacing:-.02em;margin:0;}
.crpt-subtitle{font-size:12px;color:var(--muted);margin:5px 0 0;}
.crpt-connection{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#eef2f7;color:var(--muted);}
.crpt-connection::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;}
.crpt-connection.connected{background:#e0faeb;color:var(--crpt-green);}
.crpt-connection.checking{background:#e5f2ff;color:var(--crpt-blue);}
.crpt-connection.auth_required,.crpt-connection.error{background:#fee2e2;color:var(--crpt-red);}
.crpt-card{width:100%;min-width:0;max-width:100%;background:var(--card);border:1px solid var(--stroke);border-radius:14px;padding:20px;box-shadow:var(--shadow);}
.crpt-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.crpt-card-title{font-size:16px;font-weight:900;margin:0;}
.crpt-api-tag{padding:4px 7px;border-radius:7px;background:#e5f2ff;color:var(--crpt-blue);font-size:10px;font-weight:900;}
.crpt-connect-card{display:flex;align-items:flex-start;gap:20px;background:var(--card);border:1px solid var(--stroke);border-radius:14px;padding:26px;box-shadow:var(--shadow);}
.crpt-connect-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:15px;background:#e5f2ff;color:var(--crpt-blue);flex:none;}
.crpt-connect-content{max-width:760px;}
.crpt-connect-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#fff3cd;color:#8a5a00;font-size:10px;font-weight:900;}
.crpt-connect-content h2{font-size:20px;line-height:1.2;margin:12px 0 7px;}
.crpt-connect-content>p{font-size:13px;line-height:1.55;color:var(--muted);margin:0;}
.crpt-connect-steps{display:grid;gap:10px;margin:20px 0;}
.crpt-connect-steps>div{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.45;}
.crpt-connect-steps b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e5f2ff;color:var(--crpt-blue);font-size:10px;flex:none;}
.crpt-connect-note{padding:10px 12px;border-radius:9px;background:var(--panel);color:var(--muted);font-size:11px;line-height:1.45;margin-bottom:14px;}
.crpt-connect-actions{display:flex;gap:9px;flex-wrap:wrap;}
.crpt-form-grid{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(220px,1.5fr) minmax(190px,1.2fr) minmax(160px,.9fr);gap:14px 12px;align-items:end;}
.crpt-field{display:flex;flex-direction:column;gap:6px;min-width:0;}
.crpt-field label{font-size:11px;font-weight:700;color:var(--muted);}
.crpt-input,.crpt-select{width:100%;height:42px;border:1px solid var(--stroke);background:var(--field);color:var(--ink);border-radius:9px;padding:0 11px;font:inherit;font-size:13px;outline:none;transition:.14s border-color,.14s box-shadow;}
.crpt-input:focus,.crpt-select:focus{border-color:var(--crpt-blue);box-shadow:0 0 0 3px rgba(13,99,242,.12);}
.crpt-input:disabled,.crpt-select:disabled{opacity:.62;cursor:not-allowed;}
.crpt-submit{height:42px;border:0;border-radius:9px;background:var(--crpt-blue);color:#fff;font:inherit;font-size:13px;font-weight:800;padding:0 20px;cursor:pointer;transition:.14s background,.14s transform;}
.crpt-submit:hover{background:#0758dc;}
.crpt-submit:active{transform:translateY(1px);}
.crpt-submit:disabled{opacity:.55;cursor:not-allowed;transform:none;}
.crpt-form-error{grid-column:1/-1;color:var(--crpt-red);font-size:12px;font-weight:700;}
.crpt-job{display:flex;align-items:center;gap:14px;padding:15px 18px;border:1px solid #b8d6ff;border-radius:12px;background:#e5f2ff;}
.crpt-job.failed{background:#fff1f2;border-color:#fecdd3;}
.crpt-spinner{width:18px;height:18px;border:2px solid rgba(13,99,242,.22);border-top-color:var(--crpt-blue);border-radius:50%;animation:crpt-spin .8s linear infinite;flex:none;}
.crpt-job.failed .crpt-spinner{animation:none;border-color:var(--crpt-red);}
.crpt-job-title{font-size:13px;font-weight:800;}
.crpt-job-sub{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.45;}
@keyframes crpt-spin{to{transform:rotate(360deg)}}
.crpt-kpis{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;}
.crpt-kpi{background:var(--card);border:1px solid var(--stroke);border-radius:13px;padding:16px;min-width:0;}
.crpt-kpi-label{font-size:11px;font-weight:700;color:var(--muted);}
.crpt-kpi-value{font-size:25px;line-height:1.15;font-weight:900;margin-top:7px;font-variant-numeric:tabular-nums;}
.crpt-kpi-sub{font-size:10px;color:var(--muted);margin-top:7px;}
.crpt-table-wrap{width:100%;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;}
.crpt-table{width:100%;min-width:920px;border-collapse:collapse;font-size:11px;}
.crpt-table th{background:var(--panel);color:var(--muted);font-size:10px;font-weight:800;text-align:left;padding:10px 11px;white-space:nowrap;}
.crpt-table th:first-child{border-radius:8px 0 0 8px;}
.crpt-table th:last-child{border-radius:0 8px 8px 0;}
.crpt-table td{padding:11px;border-bottom:1px solid var(--stroke);vertical-align:top;}
.crpt-table tbody tr:last-child td{border-bottom:0;}
.crpt-table button,.crpt-link{border:0;background:none;color:var(--crpt-blue);font:inherit;font-weight:800;cursor:pointer;padding:0;}
.crpt-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;white-space:nowrap;}
.crpt-status{font-weight:800;}
.crpt-status.completed,.crpt-status.completed_with_warnings{color:var(--crpt-green);}
.crpt-status.failed{color:var(--crpt-red);}
.crpt-status.cancelled{color:var(--muted);}
.crpt-toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.crpt-toolbar-left{min-width:220px;flex:1;}
.crpt-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;}
.crpt-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;border:1px solid var(--stroke);border-radius:9px;background:var(--card);color:var(--ink);padding:0 14px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;text-decoration:none;}
.crpt-btn:hover{border-color:#b8d6ff;background:#f8fbff;}
.crpt-btn.primary{background:var(--crpt-blue);border-color:var(--crpt-blue);color:#fff;}
.crpt-btn:disabled{opacity:.5;cursor:not-allowed;}
.crpt-result-meta{font-size:10px;color:var(--muted);margin-top:3px;}
.crpt-search-toolbar{margin-top:12px;}
.crpt-table-hint{margin:10px 0 7px;color:var(--muted);font-size:10px;line-height:1.4;}
.crpt-results-scroll{max-height:min(68vh,760px);border:1px solid var(--stroke);border-radius:10px;overflow:auto;scrollbar-gutter:stable both-edges;}
.crpt-results-scroll:focus{outline:2px solid rgba(13,99,242,.35);outline-offset:2px;}
.crpt-result-table{width:max-content;min-width:100%;table-layout:fixed;}
.crpt-result-table th{position:sticky;top:0;z-index:1;white-space:normal;line-height:1.35;box-shadow:0 1px 0 var(--stroke);}
.crpt-result-table td{white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.5;}
.crpt-result-table .crpt-col-gtin{width:150px;min-width:150px;max-width:150px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.crpt-result-table .crpt-col-group{width:180px;min-width:180px;max-width:180px;}
.crpt-result-table .crpt-col-product{width:390px;min-width:390px;max-width:390px;}
.crpt-result-table .crpt-col-compliance{width:260px;min-width:260px;max-width:260px;}
.crpt-result-table .crpt-col-generic{width:220px;min-width:220px;max-width:220px;}
.crpt-gtin-link{color:var(--crpt-blue)!important;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;font-variant-numeric:tabular-nums;}
.crpt-drawer-backdrop{position:fixed;inset:0;z-index:10050;background:rgba(15,23,42,.46);display:flex;justify-content:flex-end;backdrop-filter:blur(2px);}
.crpt-product-drawer{width:min(680px,100%);height:100%;background:var(--card);border-left:1px solid var(--stroke);box-shadow:-18px 0 48px rgba(15,23,42,.18);overflow:auto;color:var(--ink);}
.crpt-drawer-head{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:20px 22px;border-bottom:1px solid var(--stroke);background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(12px);}
.crpt-drawer-head h2{margin:4px 0 0;font-size:21px;letter-spacing:-.02em;}
.crpt-drawer-kicker{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;color:var(--crpt-blue);}
.crpt-drawer-close{width:36px;height:36px;border:1px solid var(--stroke);border-radius:9px;background:var(--card);color:var(--ink);font-size:24px;line-height:1;cursor:pointer;}
.crpt-drawer-loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:220px;color:var(--muted);font-size:12px;}
.crpt-product-body{display:flex;flex-direction:column;}
.crpt-product-summary{padding:22px;background:linear-gradient(135deg,#eef6ff,#f8fbff);border-bottom:1px solid var(--stroke);}
[data-theme="dark"] .crpt-product-summary{background:linear-gradient(135deg,#13213a,#111827);}
.crpt-product-title{font-size:18px;font-weight:900;line-height:1.35;}
.crpt-product-identity{display:flex;align-items:flex-start;gap:13px;}
.crpt-product-identity img{width:62px;height:62px;border-radius:10px;border:1px solid rgba(148,163,184,.35);object-fit:contain;background:#fff;flex:none;}
.crpt-product-meta{margin-top:5px;font-size:11px;color:var(--muted);line-height:1.45;}
.crpt-product-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px;}
.crpt-product-badges span{padding:4px 7px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:9px;font-weight:900;text-transform:uppercase;}
.crpt-product-badges span.ok{background:#dcfce7;color:#15803d;}
.crpt-product-badges span.warn{background:#fef3c7;color:#a16207;}
.crpt-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:17px;}
.crpt-product-grid>div{padding:10px;border-radius:9px;background:rgba(255,255,255,.72);min-width:0;}
[data-theme="dark"] .crpt-product-grid>div{background:rgba(15,23,42,.6);}
.crpt-product-grid small{display:block;font-size:9px;color:var(--muted);margin-bottom:4px;}
.crpt-product-grid b{display:block;font-size:11px;overflow-wrap:anywhere;}
.crpt-drawer-section{padding:20px 22px;border-bottom:1px solid var(--stroke);}
.crpt-drawer-section h3{font-size:14px;margin:0 0 13px;}
.crpt-drawer-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.crpt-drawer-section-head>span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--panel);font-size:10px;font-weight:900;}
.crpt-section-help{font-size:10px;line-height:1.5;color:var(--muted);margin:-5px 0 14px;}
.crpt-attributes summary{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:900;cursor:pointer;list-style:none;}
.crpt-attributes summary::-webkit-details-marker{display:none;}
.crpt-attributes summary>span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--panel);font-size:9px;}
.crpt-attributes>div{display:grid;gap:0;margin-top:11px;max-height:340px;overflow:auto;border:1px solid var(--stroke);border-radius:9px;}
.crpt-attributes p{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1.2fr);gap:12px;margin:0;padding:9px 10px;border-bottom:1px solid var(--stroke);font-size:10px;line-height:1.45;}
.crpt-attributes p:last-child{border-bottom:0;}
.crpt-attributes p b{font-weight:700;color:var(--muted);}
.crpt-attributes p span{overflow-wrap:anywhere;}
.crpt-rd-list,.crpt-change-list{display:grid;gap:8px;}
.crpt-rd-card{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border:1px solid var(--stroke);border-radius:10px;padding:12px;}
.crpt-rd-card>div{min-width:0;}
.crpt-rd-card b,.crpt-rd-card code,.crpt-rd-card small{display:block;}
.crpt-rd-card b{font-size:11px;line-height:1.4;}
.crpt-rd-card code{font-family:inherit;font-size:11px;color:var(--ink);margin-top:5px;overflow-wrap:anywhere;}
.crpt-rd-card small{font-size:9px;color:var(--muted);margin-top:4px;}
.crpt-rd-card>span{padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap;}
.crpt-rd-card>span.ok{background:#dcfce7;color:#15803d;}
.crpt-rd-card>span.bad{background:#fee2e2;color:#b91c1c;}
.crpt-rd-form{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.crpt-rd-form label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:800;color:var(--muted);}
.crpt-rd-form label:nth-child(2){grid-column:1/-1;}
.crpt-rd-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:2px;}
.crpt-validation{display:flex;flex-direction:column;gap:3px;margin-top:12px;padding:11px 12px;border-radius:9px;font-size:10px;line-height:1.45;}
.crpt-validation.ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#166534;}
.crpt-validation.bad{background:#fff1f2;border:1px solid #fecdd3;color:#991b1b;}
.crpt-validation span{opacity:.85;}
.crpt-change-list article{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:10px 0;border-bottom:1px solid var(--stroke);}
.crpt-change-list article:last-child{border-bottom:0;}
.crpt-change-list article>div{min-width:0;}
.crpt-change-list b,.crpt-change-list small,.crpt-change-list em{display:block;}
.crpt-change-list b{font-size:10px;overflow-wrap:anywhere;}
.crpt-change-list small{font-size:9px;color:var(--muted);margin-top:3px;}
.crpt-change-list em{font-style:normal;font-size:9px;color:var(--crpt-red);margin-top:4px;}
.crpt-change-status{padding:4px 7px;border-radius:999px;background:#e5f2ff;color:var(--crpt-blue);font-size:9px;font-weight:900;white-space:nowrap;}
.crpt-change-status.completed{background:#dcfce7;color:#15803d;}
.crpt-change-status.failed{background:#fee2e2;color:#b91c1c;}
.crpt-empty.compact{padding:18px 8px;}
.crpt-empty{padding:30px 18px;text-align:center;color:var(--muted);font-size:12px;}
.crpt-error-box{padding:14px;border-radius:10px;background:#fff1f2;border:1px solid #fecdd3;color:#991b1b;font-size:12px;line-height:1.5;}
.crpt-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px;font-size:11px;color:var(--muted);}
.crpt-sort{cursor:pointer;user-select:none;}
.crpt-skeleton{height:120px;border-radius:14px;background:linear-gradient(90deg,var(--panel),#fff,var(--panel));background-size:200% 100%;animation:crpt-shimmer 1.2s infinite;}
@keyframes crpt-shimmer{to{background-position:-200% 0}}
@media(max-width:1180px){.crpt-form-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.crpt-kpis{grid-template-columns:repeat(3,minmax(160px,1fr))}.crpt-result-table .crpt-col-product{width:330px;min-width:330px;max-width:330px}}
@media(max-width:760px){.crpt-page{gap:14px}.crpt-card{padding:15px}.crpt-form-grid{grid-template-columns:1fr 1fr}.crpt-kpis{grid-template-columns:1fr 1fr}.crpt-title{font-size:21px}.crpt-results-scroll{max-height:65vh}.crpt-result-table .crpt-col-product{width:280px;min-width:280px;max-width:280px}.crpt-product-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.crpt-form-grid,.crpt-kpis,.crpt-rd-form{grid-template-columns:1fr}.crpt-title-row{align-items:flex-start}.crpt-toolbar-actions,.crpt-toolbar-actions .crpt-btn{width:100%}.crpt-job{align-items:flex-start}.crpt-connect-card{padding:18px;gap:14px;flex-direction:column}.crpt-connect-actions,.crpt-connect-actions .crpt-btn{width:100%}.crpt-rd-form label:nth-child(2),.crpt-rd-actions{grid-column:1}.crpt-rd-actions{flex-direction:column}.crpt-rd-actions .crpt-btn{width:100%}.crpt-change-list article{grid-template-columns:1fr}.crpt-drawer-head,.crpt-drawer-section{padding-left:16px;padding-right:16px}.crpt-attributes p{grid-template-columns:1fr;gap:3px}}
