@import url('https://fonts.googleapis.com/css2?family=Assistant:wght@200..800&display=swap');

:root{--bg:#f5f7fb;--card:#fff;--text:#101828;--muted:#667085;--line:#e5e7eb;--primary:#6d5dfc;--cyan:#06b6d4;--shadow:0 18px 45px rgba(16,24,40,.08)}*{box-sizing:border-box}body{margin:0;font-family: "Assistant", Arial, sans-serif;;background:radial-gradient(circle at top right,#ede9fe 0,transparent 28%),var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.topbar{height:76px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(229,231,235,.85);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand img{width:160px;height:48px}.brand span{display:none}.topbar nav{display:flex;gap:8px}.topbar nav a{padding:10px 14px;border-radius:10px;color:#475467;font-weight:700}.topbar nav a:hover{background:#f2f4f7;color:var(--text)}.topbar nav .logout{color:#b42318}.wrap{max-width:1240px;margin:34px auto;padding:0 20px}.hero{background:linear-gradient(135deg,#111827,#312e81 58%,#155e75);color:#fff;border-radius:28px;padding:38px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;box-shadow:var(--shadow);overflow:hidden}.hero h1{font-size:42px;margin:8px 0}.hero p{color:#dbeafe;font-size:17px}.hero-icon{font-size:84px;opacity:.2}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.5px;color:#67e8f9}.card{background:var(--card);border:1px solid rgba(229,231,235,.9);border-radius:22px;padding:26px;box-shadow:var(--shadow);margin-bottom:22px}.section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.section-title h1,.section-title h2{margin:0 0 7px}.section-title p{margin:0;color:var(--muted)}.pill{display:inline-flex;background:#eef2ff;color:#4338ca;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}.upload-grid{display:grid;grid-template-columns:1fr 1.4fr auto;gap:16px;align-items:end}label{display:block;font-weight:700;color:#344054}input,select{width:100%;height:48px;border:1px solid #d0d5dd;border-radius:12px;padding:0 13px;background:#fff;margin-top:8px;font-size:15px}input:focus,select:focus{outline:3px solid #e0e7ff;border-color:var(--primary)}button,.btn{height:48px;border:0;border-radius:12px;padding:0 22px;background:linear-gradient(135deg,var(--primary),#4f46e5);color:#fff;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn.secondary{background:#f2f4f7;color:#344054}.hidden{display:none}.progress{height:14px;background:#eef2f7;border-radius:999px;overflow:hidden;margin:14px 0}.progress div{height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--cyan));transition:.25s}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:13px;margin:20px 0}.stats div{background:#f8fafc;border:1px solid #e4e7ec;border-radius:15px;padding:16px}.stats span{display:block;color:var(--muted);font-size:13px;margin-bottom:5px}.stats b{font-size:22px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px}table{width:100%;border-collapse:collapse;background:#fff;min-width:850px}th,td{padding:13px 14px;border-bottom:1px solid #edf0f4;text-align:right;font-size:14px}th{background:#f8fafc;color:#475467;position:sticky;top:0}.link{color:#4f46e5;font-weight:800}.status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f2f4f7;font-size:12px;font-weight:800}.status.completed,.status.success{background:#ecfdf3;color:#027a48}.status.running{background:#eff8ff;color:#175cd3}.status.failed,.status.not_found{background:#fef3f2;color:#b42318}.filters{display:grid;grid-template-columns:2fr 1fr auto auto;gap:12px;align-items:end;margin-bottom:24px}.filters input,.filters select{margin:0}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.product-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.product-images{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line)}.thumb{aspect-ratio:3/4;background:#f8fafc;display:grid;place-items:center;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover;transition:.25s}.thumb img:hover{transform:scale(1.05)}.thumb span{font-size:11px;color:#98a2b3}.product-meta{padding:17px}.product-meta h3{direction:ltr;text-align:right;margin:10px 0;font-family:monospace;font-size:19px}.product-meta dl{margin:0}.product-meta dl div{display:flex;justify-content:space-between;gap:15px;padding:7px 0;border-top:1px solid #f2f4f7}.product-meta dt{color:var(--muted)}.product-meta dd{margin:0;direction:ltr;text-align:left}.pagination{display:flex;justify-content:center;gap:7px;margin-top:24px}.pagination a{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff}.pagination a.active{background:var(--primary);color:#fff}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#0f172a,#312e81 55%,#164e63)}.login-shell{width:min(980px,96vw);min-height:580px;background:#fff;border-radius:30px;overflow:hidden;display:grid;grid-template-columns:1.15fr 1fr;box-shadow:0 30px 90px rgba(0,0,0,.28)}.login-visual{background:radial-gradient(circle at top left,rgba(103,232,249,.25),transparent 30%),linear-gradient(150deg,#111827,#312e81);color:#fff;padding:52px;display:flex;flex-direction:column;justify-content:center}.login-visual img{width:210px;filter:brightness(0) invert(1);margin-bottom:55px}.login-visual h1{font-size:54px;line-height:1.05;margin:12px 0}.login-visual p{color:#c7d2fe;font-size:17px}.login-card{padding:60px 46px;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:30px;margin:0 0 8px}.login-card button{width:100%;margin-top:22px}.muted{color:var(--muted)}.alert{padding:12px 14px;border-radius:12px;margin:15px 0}.alert.error{background:#fef3f2;color:#b42318}@media(max-width:850px){.topbar{height:auto;padding:14px 18px;align-items:flex-start}.topbar nav{flex-wrap:wrap;justify-content:flex-end}.brand img{width:135px}.hero{padding:26px}.hero h1{font-size:32px}.upload-grid,.filters{grid-template-columns:1fr}.catalog-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-visual{display:none}}@media(max-width:560px){.topbar{display:block}.topbar nav{margin-top:10px;justify-content:flex-start}.topbar nav a{padding:8px}.wrap{margin-top:20px;padding:0 12px}.card{padding:18px}.hero-icon{display:none}.product-images{grid-template-columns:repeat(3,1fr)}}
/* Catalog table v3 */
.topbar nav a.active {
    background: #eef2ff;
    color: #4338ca;
}

.catalog-page {
    max-width: 1500px;
}

.catalog-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 30px 34px;
}

.catalog-header h1 {
    margin: 6px 0 8px;
    font-size: 34px;
}

.catalog-header p {
    margin: 0;
    color: var(--muted);
}

.eyebrow.dark {
    color: #4f46e5;
}

.catalog-total {
    min-width: 190px;
    padding: 22px;
    border-radius: 18px;
    background: linear-gradient(135deg, #111827, #312e81);
    color: #fff;
    text-align: center;
}

.catalog-total span,
.catalog-stat span {
    display: block;
    margin-bottom: 7px;
    color: #c7d2fe;
    font-size: 13px;
    font-weight: 700;
}

.catalog-total strong {
    font-size: 34px;
}

.catalog-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.catalog-stat {
    margin-bottom: 0;
    padding: 20px 22px;
}

.catalog-stat span {
    color: var(--muted);
}

.catalog-stat strong {
    font-size: 27px;
}

.catalog-panel {
    padding: 0;
    overflow: hidden;
	margin-top: 15px;
}

.catalog-filters {
    display: grid;
    grid-template-columns: minmax(260px, 2fr) minmax(190px, 1fr) auto auto;
    gap: 14px;
    align-items: end;
    padding: 24px;
    border-bottom: 1px solid var(--line);
    background: #fff;
}

.catalog-filters input,
.catalog-filters select {
    margin-top: 7px;
}

.catalog-results-meta {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 24px;
    color: var(--muted);
    background: #f8fafc;
    border-bottom: 1px solid var(--line);
    font-size: 13px;
}

.catalog-table-wrap {
    border: 0;
    border-radius: 0;
    max-height: calc(100vh - 310px);
}

.catalog-table {
    min-width: 1320px;
}

.catalog-table thead th {
    top: 0;
    z-index: 4;
    height: 52px;
    padding: 12px 13px;
    background: #111827;
    color: #f9fafb;
    white-space: nowrap;
    font-size: 13px;
}

.catalog-table tbody tr {
    transition: background-color 0.15s ease;
}

.catalog-table tbody tr:hover {
    background: #f8faff;
}

.catalog-table td {
    height: 86px;
    padding: 10px 12px;
    vertical-align: middle;
}

.code-value {
    direction: ltr;
    display: inline-block;
    font-family: "SFMono-Regular", Consolas, monospace;
    text-align: left;
    white-space: nowrap;
}

.sku-value {
    min-width: 145px;
    font-size: 13px;
}

.brand-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 105px;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.2px;
}

.brand-intimissimi {
    background: #eef2ff;
    color: #4338ca;
}

.brand-calzedonia {
    background: #ecfdf3;
    color: #027a48;
}

.brand-tezenis {
    background: #fdf2fa;
    color: #c11574;
}

.image-cell {
    width: 82px;
    text-align: center;
}

.catalog-thumb {
    position: relative;
    display: inline-flex;
    width: 58px;
    height: 68px;
    overflow: hidden;
    border: 1px solid #e4e7ec;
    border-radius: 11px;
    background: #f8fafc;
    box-shadow: 0 4px 12px rgba(16, 24, 40, 0.08);
}

.catalog-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.2s ease;
}

.catalog-thumb:hover img {
    transform: scale(1.08);
}

.catalog-thumb span {
    position: absolute;
    right: 4px;
    bottom: 4px;
    width: 19px;
    height: 19px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(17, 24, 39, 0.82);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
}

.missing-image {
    display: inline-grid;
    width: 58px;
    height: 68px;
    place-items: center;
    border: 1px dashed #d0d5dd;
    border-radius: 11px;
    color: #98a2b3;
    background: #f9fafb;
}

.source-file {
    display: inline-block;
    max-width: 185px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    direction: ltr;
    text-align: left;
    color: #475467;
    font-size: 12px;
}

.date-value {
    display: inline-block;
    min-width: 112px;
    color: #475467;
    white-space: nowrap;
    font-size: 12px;
}

.empty-state {
    height: 260px !important;
    text-align: center;
    color: var(--muted);
}

.empty-state strong,
.empty-state span {
    display: block;
}

.empty-state strong {
    margin-bottom: 8px;
    color: var(--text);
    font-size: 20px;
}

.catalog-panel .pagination {
    margin: 0;
    padding: 22px;
    border-top: 1px solid var(--line);
}

.catalog-panel .pagination a {
    width: auto;
    min-width: 40px;
    padding: 0 13px;
}

button, .btn {
	font-size: 19px;
	font-weight: 500;
}

input,
select,
textarea,
button {
    font-family: inherit;
}

@media (max-width: 900px) {
    .catalog-header {
        align-items: stretch;
        flex-direction: column;
    }

    .catalog-total {
        min-width: 0;
    }

    .catalog-stats {
        grid-template-columns: 1fr;
    }

    .catalog-filters {
        grid-template-columns: 1fr;
    }

    .catalog-results-meta {
        flex-direction: column;
    }
}


@media only screen and (max-width: 767px) {
	.login-page {
	padding: 0px !important;

}
}
