/* =========================
   GLOBAL
========================= */

body{
    background:#f5f7fb;
    font-family:Inter,Segoe UI,sans-serif;
    color:#212529;
    overflow-x:hidden;
}

a{
    text-decoration:none;
}

/* =========================
   HEADER
========================= */

.navbar{
    height:70px;
    background:#ffffff;
    border-bottom:1px solid #e9ecef;
    box-shadow:0 1px 8px rgba(0,0,0,.03);
    z-index:1050;
    transition:transform .22s ease, opacity .22s ease;
}

.navbar .container-fluid{
    gap:8px;
}

.navbar-brand{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:1.6rem;
    font-weight:700;
    white-space:nowrap;
}

.site-logo-mark{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:9px;
    background:#0d6efd;
    color:#ffffff;
    font-size:1rem;
    box-shadow:0 8px 18px rgba(13,110,253,.22);
}

.site-logo-text{
    display:inline-block;
}

.navbar-actions{
    display:flex;
    align-items:center;
    gap:8px;
}

.sidebar-menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 38px;
    width:38px;
    height:38px;
    padding:0;
    border:1px solid #d8e0ea;
    border-radius:10px;
    background:#ffffff;
    color:#344054;
    box-shadow:0 4px 12px rgba(15,23,42,.06);
}

.sidebar-menu-toggle:hover,
.sidebar-menu-toggle:focus{
    border-color:#bcd4ff;
    background:#eef5ff;
    color:#0d6efd;
}

.sidebar-menu-toggle i{
    font-size:1.25rem;
    line-height:1;
}

.header-search{
    width:min(560px, 42vw);
    margin-left:28px;
}

.search-suggest-form{
    position:relative;
}

.header-search .input-group{
    border-radius:10px;
    overflow:hidden;
}

.header-search .form-control,
.header-search .input-group-text,
.header-search .btn{
    min-height:36px;
    border-color:#dfe5ec;
}

.mobile-header-search{
    flex:1 1 auto;
    min-width:0;
}

.mobile-header-search .input-group{
    border-radius:10px;
    overflow:hidden;
}

.mobile-header-search .form-control,
.mobile-header-search .input-group-text,
.mobile-header-search .btn{
    min-height:38px;
    border-color:#dfe5ec;
}

.search-suggest-panel{
    position:absolute;
    top:calc(100% + 6px);
    left:0;
    right:0;
    z-index:1060;
    display:none;
    max-height:390px;
    overflow:auto;
    border:1px solid #d8e0ea;
    border-radius:10px;
    background:#ffffff;
    box-shadow:0 14px 32px rgba(15, 23, 42, .14);
    padding:6px;
}

.search-suggest-panel.is-open{
    display:block;
}

.search-suggest-panel.is-loading .search-suggest-item{
    opacity:.72;
}

.search-suggest-loading{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:48px;
    padding:10px 12px;
    color:#667085;
    font-size:.88rem;
}

.search-suggest-item{
    display:grid;
    grid-template-columns:34px minmax(0, 1fr);
    align-items:center;
    gap:8px;
    min-height:48px;
    padding:7px 9px;
    border-radius:8px;
    color:#111827;
    text-decoration:none;
}

.search-suggest-item:hover,
.search-suggest-item.is-active{
    background:#f1f6ff;
}

.search-suggest-icon{
    width:30px;
    height:30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    background:#edf4ff;
    color:#0d6efd;
}

.search-suggest-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    line-height:1.2;
}

.search-suggest-copy strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.9rem;
}

.search-suggest-copy small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#667085;
    font-size:.74rem;
}

.nav-action-btn{
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-height:34px;
}

/* =========================
   SIDEBAR
========================= */

.sidebar{
    width:220px;
    position:fixed;
    top:70px;
    left:0;
    bottom:0;
    background:#ffffff;
    border-right:1px solid #eceff3;
    box-sizing:border-box;
    overflow:hidden;
}

.sidebar-shell{
    display:flex;
    flex-direction:column;
    height:100%;
    min-height:0;
    background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%);
}

.sidebar-main{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    padding:14px 12px 16px;
}

.sidebar-main::-webkit-scrollbar{
    width:6px;
}

.sidebar-main::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:#d5dde8;
}

.sidebar-brand-block{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:16px;
    padding:8px;
    border:1px solid #edf1f7;
    border-radius:10px;
    background:#ffffff;
}

.sidebar-brand-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 40px;
    width:40px;
    height:40px;
    border-radius:10px;
    background:#0d6efd;
    color:#ffffff;
    box-shadow:0 8px 20px rgba(13,110,253,.22);
}

.sidebar-brand-copy{
    min-width:0;
}

.sidebar-brand-copy div{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#111827;
    font-weight:800;
    line-height:1.2;
}

.sidebar-brand-copy small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#6b7280;
    font-size:.78rem;
}

.sidebar .nav-link{
    display:flex;
    align-items:center;
    color:#495057;
    padding:9px 12px;
    border-radius:10px;
    transition:.2s;
    font-size:14px;
    font-weight:500;
    line-height:1.2;
}

.sidebar .nav-link i{
    width:20px;
    flex:0 0 20px;
}

.sidebar .nav-item{
    margin-bottom:2px!important;
}

.sidebar .sidebar-caret{
    width:auto;
    flex:0 0 auto;
    margin-left:auto;
    font-size:11px;
}

.sidebar-submenu{
    display:grid;
    gap:2px;
    margin:4px 0 6px 32px;
}

.sidebar-sub-link{
    display:flex;
    align-items:center;
    gap:4px;
    min-height:28px;
    padding:5px 8px;
    border-radius:8px;
    color:#5f6b7a;
    font-size:13px;
    font-weight:500;
}

.sidebar-sub-link i{
    font-size:15px;
    line-height:1;
}

.sidebar-sub-link:hover{
    background:#f3f6fb;
    color:#0d6efd;
}

.sidebar-sub-link.active{
    background:#eaf2ff;
    color:#0d6efd;
}

.sidebar .nav-link:hover{
    background:#f3f6fb;
    color:#0d6efd;
}

.sidebar .nav-link.active{
    background:#0d6efd;
    color:#ffffff;
    box-shadow:0 5px 15px rgba(13,110,253,.25);
}

.sidebar-bottom{
    display:grid;
    gap:10px;
    flex:0 0 auto;
    padding:12px;
    border-top:1px solid #e5ebf3;
    background:#ffffff;
    box-shadow:0 -10px 24px rgba(15,23,42,.05);
}

.sidebar-bottom-link{
    display:flex;
    align-items:center;
    gap:8px;
    min-height:36px;
    padding:8px 10px;
    border:1px solid #dfe7f2;
    border-radius:9px;
    background:#ffffff;
    color:#344054;
    font-size:.84rem;
    font-weight:800;
}

.sidebar-bottom-link i{
    color:#0d6efd;
}

.sidebar-bottom-link:hover,
.sidebar-bottom-link.active{
    border-color:#bcd4ff;
    background:#eef5ff;
    color:#0d6efd;
}

.sidebar-account-card{
    padding:10px;
    border:1px solid #dfe7f2;
    border-radius:10px;
    background:#f8fbff;
}

.sidebar-account-person{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
    margin:0;
    cursor:pointer;
    list-style:none;
}

.sidebar-account-person::-webkit-details-marker{
    display:none;
}

.sidebar-account-avatar{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 32px;
    width:32px;
    height:32px;
    border-radius:999px;
    background:#eaf2ff;
    color:#0d6efd;
    font-size:1rem;
}

.sidebar-account-person div{
    min-width:0;
    flex:1 1 auto;
}

.sidebar-account-person strong,
.sidebar-account-person small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.sidebar-account-person strong{
    color:#111827;
    font-size:.86rem;
    line-height:1.2;
}

.sidebar-account-person small{
    color:#6b7280;
    font-size:.7rem;
}

.sidebar-account-caret{
    flex:0 0 auto;
    color:#667085;
    font-size:.78rem;
    transition:transform .16s ease;
}

.sidebar-account-card:not([open]) .sidebar-account-caret{
    transform:rotate(180deg);
}

.sidebar-account-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
    margin-top:9px;
}

.sidebar-account-actions a,
.sidebar-account-actions .logout-link{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-height:32px;
    border:1px solid #d7e1ee;
    border-radius:8px;
    background:#ffffff;
    color:#344054;
    font-size:.76rem;
    font-weight:800;
    text-decoration:none;
}

.sidebar-account-actions form{
    margin:0;
}

.sidebar-account-actions button.logout-link{
    width:100%;
    cursor:pointer;
}

.sidebar-account-actions a:hover,
.sidebar-account-actions a.active,
.sidebar-account-actions .logout-link:hover{
    border-color:#bcd4ff;
    background:#eef5ff;
    color:#0d6efd;
}

.sidebar-account-actions .logout-link{
    border-color:#ffd3d7;
    color:#b42318;
}

.sidebar-account-actions .logout-link:hover{
    border-color:#fda4af;
    background:#fff1f2;
    color:#b42318;
}

.sidebar-section{
    margin-bottom:14px;
}

.sidebar-section-title{
    margin-bottom:6px;
    color:#6c757d;
    font-size:11px;
    font-weight:800;
    letter-spacing:.02em;
    text-transform:uppercase;
}

.sidebar-price-section{margin-bottom:0}
.sidebar-price-toggle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px;border:1px solid #b9c6d8;border-radius:10px;background:#eef3f8}
.sidebar-price-toggle a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:38px;border:1px solid transparent;border-radius:8px;color:#475467;font-size:.78rem;font-weight:800;text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}
.sidebar-price-label{display:flex;align-items:center;justify-content:center;gap:3px;line-height:1.1}
.sidebar-price-toggle a i{display:none;font-size:.86rem}
.sidebar-price-toggle a:hover{background:#fff;color:#0d6efd;border-color:#c9ddff}
.sidebar-price-toggle a.active,.sidebar-price-toggle a.is-selected,.sidebar-price-toggle a[aria-current="true"]{background:#0d6efd!important;color:#fff!important;border-color:#0b5ed7!important;box-shadow:0 7px 16px rgba(13,110,253,.28)}
.sidebar-price-toggle a.active i,.sidebar-price-toggle a.is-selected i,.sidebar-price-toggle a[aria-current="true"] i{display:inline-flex}

.sidebar-mini-link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-height:25px;
    padding:4px 6px;
    border-radius:7px;
    color:#495057;
    font-size:12px;
    line-height:1.25;
}

.sidebar-mini-link:hover{
    background:#f3f6fb;
    color:#0d6efd;
}

.sidebar-category-link{
    color:#166534;
}

.sidebar-category-link:hover{
    background:#ecfdf3;
    color:#15803d;
}

.sidebar-mini-link span{
    color:#8492a6;
    font-size:11px;
}

.sidebar-chip-list{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
}

.sidebar-chip-list a{
    display:inline-flex;
    max-width:100%;
    padding:3px 7px;
    border-radius:999px;
    background:#f1f5f9;
    color:#495057;
    font-size:11px;
    line-height:1.2;
}

.sidebar-chip-list .sidebar-tag-chip{
    background:#fff7ed;
    color:#9a3412;
    border:1px solid #fed7aa;
}

.sidebar-chip-list a:hover{
    background:#e8f1ff;
    color:#0d6efd;
}

.sidebar-chip-list .sidebar-tag-chip:hover{
    background:#ffedd5;
    color:#c2410c;
}

.offcanvas{
    max-width:330px;
    z-index:1070;
    border-right:1px solid #dfe7f1;
    box-shadow:16px 0 40px rgba(15,23,42,.18);
}

.offcanvas-backdrop{
    z-index:1060;
}

.offcanvas-header{
    border-bottom:1px solid #edf1f6;
    min-height:62px;
    padding:14px 16px;
}

.offcanvas-title{
    font-size:17px;
    font-weight:800;
}

.offcanvas-body{
    overflow-y:auto;
    background:#ffffff;
}

.offcanvas-body .p-3{
    padding:14px!important;
}

.mobile-bottom-nav{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1040;
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:1fr;
    gap:4px;
    padding:6px 10px calc(6px + env(safe-area-inset-bottom));
    border:1px solid #dfe7f1;
    border-bottom:0;
    border-radius:16px 16px 0 0;
    background:rgba(255,255,255,.96);
    box-shadow:0 10px 28px rgba(15,23,42,.16);
    backdrop-filter:blur(12px);
    transition:transform .22s ease, opacity .22s ease;
}

.mobile-bottom-nav.is-hidden{
    opacity:0;
    transform:translateY(100%);
    pointer-events:none;
}

.mobile-bottom-nav a,
.mobile-bottom-nav button{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    min-height:48px;
    border-radius:12px;
    color:#64748b;
    font-size:10px;
    font-weight:700;
    border:0;
    background:transparent;
}

.mobile-bottom-nav a i,
.mobile-bottom-nav button i{
    font-size:17px;
    line-height:1;
}

.mobile-bottom-nav a.active,
.mobile-bottom-nav a:hover,
.mobile-bottom-nav button:hover{
    background:#eaf2ff;
    color:#0d6efd;
}

.guest-auth-bar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1045;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    width:min(100%, 520px);
    margin:0 auto;
    padding:8px 12px calc(8px + env(safe-area-inset-bottom));
    border:1px solid #dfe7f1;
    border-bottom:0;
    border-radius:16px 16px 0 0;
    background:rgba(255,255,255,.98);
    box-shadow:0 -10px 28px rgba(15,23,42,.16);
    backdrop-filter:blur(12px);
}

.guest-auth-bar .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:44px;
    font-weight:800;
}

body:has(.guest-auth-bar) .site-footer{
    margin-bottom:74px;
}

/* =========================
   MAIN CONTENT
========================= */

.main-content{
    margin-left:220px;
    padding:20px;
}

.page-content{
    padding-top:70px;
    min-width:0;
    max-width:100%;
}

.page-content > .container-fluid,
.main-content{
    min-width:0;
    max-width:100%;
}

.scraper-admin-page{
    min-height:100vh;
}

.scraper-admin-page .settings-panel{
    min-width:0;
}

.scraper-admin-table table{
    min-width:920px;
    margin-bottom:0;
}

.scraper-admin-table th{
    white-space:nowrap;
}

.scraper-admin-table td{
    vertical-align:middle;
}

.makerworld-model-table{
    max-height:680px;
    overflow:auto;
}

.makerworld-model-table table{
    min-width:1320px;
}

.makerworld-model-table thead th{
    position:sticky;
    top:0;
    z-index:2;
    background:#fff;
}

.makerworld-model-title{
    min-width:250px;
}

.makerworld-model-tags{
    min-width:300px;
    max-width:460px;
}

.scraper-source-policy-table table{
    min-width:1180px;
}

.scraper-source-policy-table td:first-child{
    min-width:180px;
}

.scraper-policy-form{
    display:grid;
    grid-template-columns:96px 76px auto;
    align-items:end;
    gap:8px;
    min-width:280px;
}

.scraper-policy-form label{
    margin:0;
}

.scraper-policy-form label span{
    display:block;
    margin-bottom:3px;
    color:#667085;
    font-size:.68rem;
    font-weight:700;
    white-space:nowrap;
}

.scraper-error-cell{
    max-width:260px;
}

.scraper-task-table table{
    min-width:1400px;
}

.scraper-task-table td:nth-child(7){
    min-width:320px;
    max-width:520px;
    word-break:break-all;
}

.hero-section{
    min-height:auto;
}

/* =========================
   SEARCH BAR
========================= */

.search-box{
    max-width:900px;
    margin:auto;
}

.search-box .form-control{
    border-radius:14px 0 0 14px;
    height:52px;
    border:1px solid #dbe1ea;
}

.search-box .btn{
    border-radius:0 14px 14px 0;
    min-width:150px;
}

/* =========================
   CATEGORY BUTTONS
========================= */

.sticky-filter-shell{
    position:sticky;
    top:70px;
    z-index:1010;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    margin:0 -4px 24px;
    padding:10px 4px 14px;
    background:#f5f7fb;
    border-bottom:1px solid rgba(226,232,240,.72);
    width:auto;
    max-width:none;
    min-width:0;
    transition:transform .22s ease, opacity .22s ease;
}

.filter-chip-rail{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:nowrap;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 0;
    margin-bottom:0;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    min-width:0;
}

.filter-chip-rail::-webkit-scrollbar{
    display:none;
}

.filter-btn{
    flex:0 0 auto;
    white-space:nowrap;
    border-radius:8px;
    font-weight:600;
    border:1px solid transparent;
    scroll-snap-align:start;
}

.filter-scroll-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border:1px solid #cbd5e1;
    border-radius:9px;
    background:#ffffff;
    color:#334155;
    box-shadow:0 4px 12px rgba(15,23,42,.08);
}

.filter-scroll-btn:hover{
    border-color:#0d6efd;
    color:#0d6efd;
}

.filter-scroll-btn.is-disabled{
    opacity:.35;
    pointer-events:none;
}

.filter-btn-all{
    background:#f8fafc;
    border-color:#cbd5e1;
    color:#334155;
}

.filter-btn-all.active,
.filter-btn-all:hover{
    background:#0d6efd;
    border-color:#0d6efd;
    color:#ffffff;
}

.filter-btn-category{
    background:#ecfdf3;
    border-color:#86efac;
    color:#166534;
}

.filter-btn-category:hover,
.filter-btn-category.active{
    background:#16a34a;
    border-color:#16a34a;
    color:#ffffff;
}

.filter-btn-tag{
    background:#fff7ed;
    border-color:#fdba74;
    color:#9a3412;
}

.filter-btn-tag:hover,
.filter-btn-tag.active{
    background:#f97316;
    border-color:#f97316;
    color:#ffffff;
}

/* =========================
   MASONRY GRID
========================= */

.masonry-grid{
    column-count:6;
    column-gap:12px;
    width:100%;
    max-width:100%;
}

.adsense-card{
    display:block;
    width:100%;
    min-height:280px;
    margin:0 0 12px;
    padding:10px;
    break-inside:avoid;
    border:1px solid #dbe3ee;
    background:#ffffff;
    overflow:hidden;
}

.adsense-label{
    display:block;
    margin-bottom:6px;
    color:#7a8798;
    font-size:.64rem;
    font-weight:700;
    letter-spacing:0;
    text-align:center;
    text-transform:uppercase;
}

.adsense-card .adsbygoogle{
    width:100%;
    min-height:250px;
}

.adsense-demo-card{
    display:grid;
    place-items:center;
    align-content:center;
    gap:8px;
    min-height:250px;
    padding:20px;
    border:1px dashed #8eb5ef;
    background:#f4f8ff;
    color:#52647a;
    text-align:center;
}

.adsense-demo-copy{
    display:grid;
    place-items:center;
    gap:6px;
}

.adsense-demo-card i{
    color:#0d6efd;
    font-size:2rem;
}

.adsense-demo-card strong{
    color:#172033;
    font-size:.92rem;
}

.adsense-demo-card span,
.adsense-demo-card small{
    font-size:.72rem;
}

.adsense-demo-card small i{
    margin-right:3px;
    font-size:.72rem;
}

.adsense-preview-ready{
    color:#16834b;
}

.adsense-preview-pending{
    color:#9a6700;
}

.adsense-readiness-list{
    display:grid;
    gap:8px;
    margin:16px 0;
}

.adsense-readiness-list div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 12px;
    border:1px solid #dbe3ee;
    background:#f8fafc;
    font-size:.82rem;
}

.adsense-card-failed{
    display:none;
}

.adsense-code-line{
    display:block;
    padding:12px;
    border:1px solid #dbe3ee;
    background:#f8fafc;
    color:#172033;
    overflow-wrap:anywhere;
}

.catalog-empty-state{
    display:flex;
    align-items:flex-start;
    gap:16px;
    width:100%;
    min-height:150px;
    margin:8px 0 40px;
    padding:24px;
    border:1px solid #dbe5f1;
    border-radius:8px;
    background:#ffffff;
    box-shadow:0 8px 22px rgba(15, 23, 42, .05);
}

.catalog-empty-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 44px;
    width:44px;
    height:44px;
    border-radius:8px;
    background:#eef5ff;
    color:#0d6efd;
    font-size:1.2rem;
}

.catalog-empty-state h2{
    margin:0 0 7px;
    color:#111827;
    font-size:1.05rem;
    line-height:1.25;
}

.catalog-empty-state p{
    max-width:620px;
    margin:0;
    color:#536176;
    line-height:1.6;
}

.catalog-empty-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
}

.directory-seo-panel{
    display:grid;
    grid-template-columns:minmax(0, 1.35fr) minmax(280px, .65fr);
    gap:18px;
    align-items:stretch;
    margin-bottom:18px;
    padding:22px;
    border:1px solid #dde6f0;
    border-radius:8px;
    background:#ffffff;
    box-shadow:0 8px 24px rgba(15, 23, 42, .05);
}

.directory-seo-copy{
    min-width:0;
}

.directory-seo-eyebrow{
    display:block;
    margin-bottom:8px;
    color:#0d6efd;
    font-size:.72rem;
    font-weight:800;
    text-transform:uppercase;
}

.directory-seo-panel h1{
    margin:0 0 8px;
    color:#172033;
    font-size:1.8rem;
    line-height:1.18;
    font-weight:800;
}

.directory-seo-panel p{
    max-width:880px;
    margin:0;
    color:#516070;
    font-size:.98rem;
    line-height:1.65;
}

.directory-seo-links{
    min-width:0;
    padding:14px;
    border:1px solid #e6edf5;
    border-radius:8px;
    background:#f8fbff;
}

.directory-seo-links>span{
    display:block;
    margin-bottom:10px;
    color:#344054;
    font-size:.78rem;
    font-weight:800;
    text-transform:uppercase;
}

.directory-seo-links>div{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.directory-seo-links a{
    display:inline-flex;
    align-items:center;
    gap:6px;
    max-width:100%;
    min-height:31px;
    padding:5px 9px;
    border:1px solid #d9e5f2;
    border-radius:8px;
    background:#ffffff;
    color:#26364a;
    font-size:.84rem;
    font-weight:700;
}

.directory-seo-links a:hover{
    border-color:#b9d4f3;
    color:#0d6efd;
}

.directory-seo-links small{
    color:#667085;
    font-size:.72rem;
    font-weight:700;
}

.model-item{
    width:100%;
    max-width:100%;
    break-inside:avoid-column;
    margin-bottom:12px;
}

/* =========================
   MODEL CARD
========================= */

.model-card{
    border:1px solid #e7ebf0;
    border-radius:8px;
    overflow:hidden;
    background:#ffffff;
    transition:.2s;
}

.model-card:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.image-wrapper{
    overflow:hidden;
    background:#eef2f7;
}

.image-square{
    aspect-ratio:1/1;
}

.image-portrait{
    aspect-ratio:4/5;
}

.image-wide{
    aspect-ratio:16/11;
}

.model-image{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.model-card .card-body{
    padding:8px;
}

.model-card h6{
    font-size:12px;
    margin-bottom:4px;
    font-weight:700;
    line-height:1.25;
}

.model-title a{
color:inherit;
text-decoration:none;
}

.home-discovery{
max-width:1540px;
margin:0 auto;
}

.home-search-band{
display:grid;
grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);
gap:32px;
align-items:center;
padding:34px 0 38px;
border-bottom:1px solid #dfe5ec;
}

.home-eyebrow,
.home-section-heading span{
display:block;
margin-bottom:5px;
color:#667085;
font-size:.78rem;
font-weight:700;
text-transform:uppercase;
}

.home-search-band h1{
margin:0 0 10px;
font-size:clamp(2rem,4vw,3.7rem);
line-height:1.02;
letter-spacing:0;
}

.home-search-band p{
max-width:680px;
margin:0;
color:#596579;
}

.indexed-model-highlight{
color:#0d6efd;
font-size:1.08em;
}

.home-search-form{
display:grid;
grid-template-columns:auto 1fr auto;
align-items:center;
background:#fff;
border:1px solid #cfd8e3;
padding:7px;
}

.home-search-form i{padding:0 10px;color:#667085}
.home-search-form input{min-width:0;border:0;outline:0;padding:10px 4px}

.home-section{
padding:34px 0;
border-bottom:1px solid #e1e7ee;
}

.seo-landing-page{
width:min(1480px, calc(100% - 32px));
margin:0 auto;
padding:104px 0 42px;
}

.seo-landing-hero{
display:grid;
grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
gap:22px;
align-items:stretch;
padding:28px;
border:1px solid #dce6f1;
border-radius:8px;
background:#fff;
box-shadow:0 12px 32px rgba(15,23,42,.06);
}

.seo-landing-copy>span{
display:block;
margin-bottom:10px;
color:#0d6efd;
font-size:.76rem;
font-weight:800;
text-transform:uppercase;
}

.seo-landing-copy h1{
max-width:860px;
margin:0 0 12px;
color:#172033;
font-size:2.35rem;
line-height:1.12;
font-weight:850;
}

.seo-landing-copy p{
max-width:920px;
margin:0;
color:#526173;
font-size:1.02rem;
line-height:1.65;
}

.seo-landing-stats{
display:inline-flex;
align-items:baseline;
gap:8px;
margin-top:18px;
padding:9px 12px;
border:1px solid #e0e8f1;
border-radius:8px;
background:#f8fafc;
}

.seo-landing-stats strong{
color:#172033;
font-size:1.35rem;
}

.seo-landing-stats small{
color:#667085;
font-weight:700;
}

.seo-landing-actions{
display:flex;
flex-wrap:wrap;
gap:10px;
margin-top:18px;
}

.seo-landing-links{
padding:18px;
border:1px solid #e4ebf3;
border-radius:8px;
background:#f8fbff;
}

.seo-landing-links span{
display:block;
margin-bottom:12px;
color:#344054;
font-size:.8rem;
font-weight:800;
text-transform:uppercase;
}

.seo-landing-links a{
display:flex;
align-items:center;
justify-content:space-between;
min-height:38px;
margin-bottom:8px;
padding:8px 10px;
border:1px solid #d9e5f2;
border-radius:8px;
background:#fff;
color:#26364a;
font-weight:750;
}

.seo-landing-links a:hover{
border-color:#b9d4f3;
color:#0d6efd;
}

.seo-landing-links a::after{
content:"\F138";
font-family:"bootstrap-icons";
font-size:.85rem;
}

.seo-landing-faq{
margin-top:12px;
padding:24px;
border:1px solid #e2e8f0;
border-radius:8px;
background:#fff;
}

.seo-landing-faq h2{
margin:0 0 14px;
color:#172033;
font-size:1.25rem;
font-weight:800;
}

.seo-landing-faq>div{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:16px;
}

.seo-landing-faq article{
padding:14px;
border:1px solid #edf1f6;
border-radius:8px;
background:#f8fafc;
}

.seo-landing-faq h3{
margin:0 0 6px;
color:#243247;
font-size:.98rem;
font-weight:800;
}

.seo-landing-faq p{
margin:0;
color:#5f6b7a;
line-height:1.55;
}

.home-section-heading{
display:flex;
align-items:end;
justify-content:space-between;
gap:16px;
margin-bottom:18px;
}

.home-section-heading h2{
margin:0;
font-size:1.45rem;
}

.home-section-heading a{
font-size:.88rem;
text-decoration:none;
}

.home-section-view-link{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:32px;
padding:6px 11px;
border:1px solid #cfe0f5;
border-radius:8px;
background:#fff;
color:#0d6efd;
font-weight:750;
white-space:nowrap;
}

.home-section-view-link:hover{
border-color:#0d6efd;
background:#f3f8ff;
color:#0b5ed7;
}

.directory-chip-grid{
display:grid;
grid-template-columns:repeat(6,minmax(0,1fr));
gap:8px;
}

.directory-chip{
display:flex;
flex-direction:column;
gap:3px;
min-width:0;
padding:12px 14px;
border:1px solid #d7dfe8;
background:#fff;
color:#172033;
text-decoration:none;
}

.directory-chip:hover{border-color:#0d6efd;color:#0b5ed7}
.directory-chip span{color:#718096;font-size:.76rem}
.category-chip{border-top:3px solid #25a55f}
.tag-chip{border-top:3px solid #f28c28}
.format-chip{border-top:3px solid #3478d4}

.home-model-grid{
display:grid;
grid-template-columns:repeat(8,minmax(0,1fr));
gap:12px;
}

.home-model-card{
min-width:0;
background:#fff;
border:1px solid #dfe5ec;
cursor:pointer;
}

.home-model-card:focus{
outline:2px solid #0d6efd;
outline-offset:2px;
}

.home-lazy-sections{
min-height:350px;
}

.home-lazy-sections:empty{
display:none;
}

.home-section-skeleton{
min-height:350px;
}

.home-model-card-skeleton{
min-height:190px;
border-color:#e2e8f0;
background:linear-gradient(90deg,#f1f5f9 0%,#ffffff 45%,#f1f5f9 90%);
background-size:220% 100%;
animation:homeSkeletonPulse 1.3s ease-in-out infinite;
}

@keyframes homeSkeletonPulse{
0%{background-position:100% 0}
100%{background-position:-100% 0}
}

.home-model-image-link{
display:block;
aspect-ratio:1/1;
overflow:hidden;
background:#eef2f6;
}

.home-model-image-link img{
width:100%;
height:100%;
object-fit:cover;
transition:transform .2s ease;
}

.home-model-card:hover img{transform:scale(1.025)}
.home-model-placeholder{display:grid;height:100%;place-items:center;color:#8492a6;font-size:2rem}
.home-model-copy{padding:9px}
.home-model-source{display:inline-block;color:#0b6bdc;font-size:.61rem;font-weight:800;letter-spacing:0;text-transform:uppercase}
.home-model-card h3{margin:5px 0 7px;font-size:.78rem;line-height:1.25}
.home-model-card h3 a{display:-webkit-box;overflow:hidden;color:#172033;text-decoration:none;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.home-model-meta{display:flex;justify-content:space-between;gap:6px;color:#667085;font-size:.67rem}
.home-model-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-model-meta strong{color:#16834b}

.home-split{
display:grid;
grid-template-columns:minmax(0,1fr);
gap:30px;
}

.home-split > div{
min-width:0;
max-width:100%;
}

.directory-rail-shell{
display:grid;
grid-template-columns:auto minmax(0,1fr) auto;
align-items:center;
gap:8px;
min-width:0;
max-width:100%;
}

.directory-rail-btn{
display:grid;
width:34px;
height:34px;
place-items:center;
border:1px solid #cbd5e1;
border-radius:8px;
background:#fff;
color:#334155;
}

.directory-rail-btn:hover{
border-color:#0d6efd;
color:#0d6efd;
}

.directory-rail-btn.is-disabled{
opacity:.3;
pointer-events:none;
}

.directory-chip-grid.compact{
display:flex;
width:100%;
max-width:100%;
gap:8px;
overflow-x:auto;
overflow-y:hidden;
padding-bottom:0;
scroll-behavior:smooth;
scroll-snap-type:x proximity;
scrollbar-width:none;
}

.directory-chip-grid.compact::-webkit-scrollbar{
display:none;
}

.directory-chip-grid.compact .directory-chip{
flex:0 0 clamp(145px,16%,205px);
scroll-snap-align:start;
}
.creator-directory{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}
.creator-directory-item{display:flex;align-items:center;gap:9px;min-width:0;padding:11px;border:1px solid #dfe5ec;background:#fff}
.creator-directory-item img,.creator-initial{width:34px;height:34px;flex:0 0 34px;border-radius:50%;object-fit:cover}
.creator-initial{display:grid;place-items:center;background:#e8f0ff;color:#0d6efd;font-weight:800}
.creator-directory-item div{min-width:0}
.creator-directory-item strong,.creator-directory-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.creator-directory-item strong{font-size:.76rem}
.creator-directory-item span{color:#718096;font-size:.67rem}

.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.guide-grid a{display:grid;grid-template-columns:auto 1fr;column-gap:12px;padding:18px;border-left:3px solid #0d6efd;background:#fff;color:#172033;text-decoration:none}
.guide-grid i{grid-row:1/3;color:#0d6efd;font-size:1.35rem}
.guide-grid strong{font-size:.92rem}
.guide-grid span{margin-top:4px;color:#667085;font-size:.78rem}

.site-footer{margin-top:44px;padding:38px max(20px,calc((100vw - 1540px)/2));border-top:1px solid #dfe5ec;background:#fff}
.site-footer-with-sidebar{margin-left:220px}
.site-footer-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:28px}
.site-footer-grid strong,.site-footer-grid a{display:block}
.site-footer-grid p,.site-footer-grid a{margin-top:8px;color:#667085;font-size:.82rem;text-decoration:none}
.site-footer-grid a:hover{color:#0d6efd}
.site-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:28px;padding-top:16px;border-top:1px solid #e5e9ef;color:#7b8798;font-size:.75rem}
.site-footer-version{font-weight:700;color:#475467}
.managed-content-page{padding:42px max(20px,calc((100vw - 1120px)/2)) 24px}
.managed-content-page article{max-width:900px}
.managed-content-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:28px;color:#667085;font-size:.82rem}
.managed-content-breadcrumb a{color:#0d6efd;text-decoration:none}
.managed-content-page header{padding-bottom:24px;border-bottom:1px solid #e5e9ef}
.managed-content-page header span{color:#0d6efd;font-size:.74rem;font-weight:800;text-transform:uppercase}
.managed-content-page header h1{margin:8px 0 6px;color:#101828;font-size:2.35rem;letter-spacing:0}
.managed-content-page header p{margin:0;color:#667085;font-size:.86rem}
.managed-content-body{padding-top:28px;color:#344054;font-size:1rem;line-height:1.75}
.managed-content-body h2{margin:34px 0 10px;color:#101828;font-size:1.35rem;letter-spacing:0}
.managed-content-body h3{margin:26px 0 8px;color:#101828;font-size:1.08rem;letter-spacing:0}
.managed-content-body p,.managed-content-body ul,.managed-content-body ol,.managed-content-body blockquote{margin:0 0 16px}
.managed-content-body a{color:#0d6efd}
.managed-content-body blockquote{padding:12px 16px;border-left:3px solid #0d6efd;background:#f8fafc}
.content-editor-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px;border:1px solid #d0d5dd;border-bottom:0;background:#f8fafc}
.content-editor-toolbar .btn{width:36px;height:34px;padding:0}
.content-visual-editor{min-height:420px;padding:18px;border:1px solid #d0d5dd;background:#fff;color:#344054;line-height:1.7;overflow:auto}
.content-visual-editor:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.15)}
.content-visual-editor h2{margin-top:24px;font-size:1.35rem}
.content-visual-editor h3{margin-top:20px;font-size:1.1rem}
.footer-model-count{display:flex;align-items:baseline;gap:7px;margin-top:18px}
.footer-model-count strong{color:#0d6efd;font-size:1.45rem}
.footer-model-count span{color:#667085;font-size:.78rem;font-weight:700;text-transform:uppercase}

.model-detail-page{padding:94px 28px 42px}
.model-detail-wrap{width:95%;max-width:none;margin:0 auto}
.detail-breadcrumb{display:flex;gap:8px;overflow:hidden;margin-bottom:16px;color:#667085;font-size:.78rem;white-space:nowrap}
.detail-breadcrumb a{color:#45627d;text-decoration:none}
.detail-breadcrumb strong{overflow:hidden;text-overflow:ellipsis}
.model-product-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;align-items:start}
.model-product-main{position:sticky;top:82px;display:grid;gap:12px;min-width:0;max-height:calc(100vh - 96px);overflow:hidden}
.model-product-head{padding:20px;border:1px solid #dfe5ec;background:#fff}
.model-product-head h1{margin:14px 0 16px;font-size:2rem;line-height:1.18;letter-spacing:0;color:#111827}
.model-detail-media{display:grid;min-height:0;height:min(58vh,620px);place-items:center;overflow:hidden;background:#eef2f6;border:1px solid #dce3ec}
.model-detail-media img{width:100%;height:100%;object-fit:contain}
.model-detail-placeholder{display:grid;place-items:center;gap:10px;color:#697586}
.model-detail-placeholder i{font-size:3rem}
.model-product-side{display:grid;gap:16px;min-width:0;max-height:calc(100vh - 96px);overflow:auto;scrollbar-width:none}
.model-product-side::-webkit-scrollbar{display:none}
.model-creator-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:center;margin:0 0 16px;padding:12px;border:1px solid #dfe5ec;background:#f8fafc}
.model-creator-card img,.model-creator-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover}
.model-creator-avatar{display:grid;place-items:center;background:#e8f0ff;color:#0d6efd;font-weight:800}
.model-creator-card span{display:block;color:#667085;font-size:.72rem}
.model-creator-card a,.model-creator-card strong{display:block;overflow:hidden;color:#172033;font-weight:800;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.model-meta-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.model-meta-list div{display:block;min-width:0;padding:12px;border:1px solid #e5e9ef;background:#fff}
.model-meta-list dt{color:#667085;font-size:.72rem;font-weight:800;text-transform:uppercase}
.model-meta-list dd{min-width:0;margin:4px 0 0;color:#172033;font-size:.86rem;overflow-wrap:anywhere}
.model-meta-list a{color:#0d6efd;text-decoration:none}
.model-action-strip{display:grid;grid-template-columns:minmax(128px,auto) minmax(104px,auto) minmax(0,1fr);gap:10px;align-items:stretch;padding:12px;border:1px solid #dfe5ec;background:#fff}
.model-action-strip .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.model-detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
.model-detail-stats span{min-width:0;padding:11px 12px;border:1px solid #dfe5ec;background:#f8fafc;color:#667085;font-size:.72rem}
.model-detail-stats strong{display:block;overflow:hidden;color:#172033;font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}
.detail-pills,.detail-tags{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}
.detail-pills span,.detail-pills strong,.detail-tags a{padding:5px 9px;border:1px solid #d7dfe8;background:#fff;color:#405267;font-size:.72rem;text-decoration:none}
.detail-pills strong{color:#16834b;border-color:#9cdbb7}
.model-source-cta{justify-content:center}
.model-ad-slot{display:grid;place-items:center;min-height:120px;border:1px dashed #a8b4c3;background:#f8fafc;color:#667085;text-align:center}
.model-ad-slot span{font-size:.72rem;text-transform:uppercase;font-weight:800}
.model-ad-slot strong{color:#172033}
.model-related-header{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:4px 0 0}
.model-related-header span{color:#64748b;font-size:.72rem;font-weight:800;text-transform:uppercase}
.model-related-header h2{margin:0;font-size:1.25rem;letter-spacing:0}
.model-related-header p{margin:4px 0 0;color:#667085;font-size:.76rem}
.model-related-tools{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.model-related-tools strong{margin-right:4px;color:#475569;font-size:.75rem;white-space:nowrap}
.model-related-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.model-related-entry{min-width:0;animation:model-related-reveal .28s ease both}
.model-related-entry[hidden]{display:none!important}
.model-related-entry .model-item{width:100%;height:100%}
.model-related-entry .model-card{height:100%;border-radius:8px}
.model-related-entry .card-body{display:grid;grid-template-rows:auto auto 1fr auto}
.model-related-ad-entry .adsense-card{height:100%;min-height:320px;margin:0}
.model-related-ad-entry .adsense-card .adsbygoogle{min-height:280px}
.model-related-loader{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;color:#64748b;font-size:.78rem}
.model-related-loader[hidden]{display:none!important}
@keyframes model-related-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.model-detail-main-ad{width:100%;margin-top:4px}
.model-detail-main-ad .adsense-card{min-height:118px;margin:0;padding:8px}
.model-detail-main-ad .adsense-label{margin-bottom:4px}
.model-detail-main-ad .adsense-card .adsbygoogle{min-height:90px}
.model-detail-main-ad .adsense-demo-card{
    grid-template-columns:42px minmax(0,1fr);
    place-items:center start;
    min-height:90px;
    padding:12px 16px;
    text-align:left;
}
.model-detail-main-ad .adsense-demo-card>i{font-size:1.6rem}
.model-detail-main-ad .adsense-demo-copy{place-items:start;gap:3px}
.model-detail-main-ad .adsense-demo-copy small:last-child{display:none}
.model-related-empty{padding:24px;border:1px solid #dfe5ec;background:#fff;color:#667085}
.model-detail-description{max-width:960px;margin-top:26px;padding:26px 0 24px;border-top:1px solid #dfe5ec}
.model-detail-description h2{font-size:1.35rem;letter-spacing:0}
.model-detail-description p{color:#4f5d70;line-height:1.75}

@media (max-width:1200px){
.home-model-grid,.creator-directory{grid-template-columns:repeat(4,minmax(0,1fr))}
.directory-chip-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media (max-width:767px){
.home-search-band{grid-template-columns:1fr;gap:18px;padding:20px 0 24px}
.home-search-band h1{font-size:2rem}
.home-search-form{grid-template-columns:auto minmax(0,1fr) auto}
.home-section{padding:24px 0}
.home-section-heading{align-items:start}
.home-section-heading h2{font-size:1.15rem}
.directory-chip-grid{display:flex;overflow-x:auto;scrollbar-width:none}
.directory-chip-grid::-webkit-scrollbar{display:none}
.directory-rail-shell{gap:5px}
.directory-rail-btn{width:30px;height:30px}
.directory-chip{min-width:138px}
.home-model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.home-model-grid .home-model-card:nth-child(n+7){display:none}
.home-split{grid-template-columns:1fr;gap:12px}
.creator-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.guide-grid{grid-template-columns:1fr}
.site-footer-grid{grid-template-columns:1fr 1fr}
.model-detail-page{padding:76px 10px 88px}
.model-detail-wrap{width:100%}
.model-product-shell{grid-template-columns:1fr;gap:16px}
.model-product-main{position:static;max-height:none;overflow:visible}
.model-detail-media{min-height:360px;max-height:none}
.model-detail-media img{height:auto;max-height:520px}
.model-product-side{max-height:none;overflow:visible}
.model-product-head h1{font-size:1.45rem}
.model-action-strip{position:static;grid-template-columns:1fr 1fr}
.model-action-strip .model-detail-stats{grid-column:1/-1}
.model-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.model-meta-list{grid-template-columns:1fr}
.model-meta-list div{grid-template-columns:1fr;gap:4px}
.model-meta-list dd{font-size:.82rem;line-height:1.45}
.model-ad-slot{position:static;min-height:100px}
.model-related-header{align-items:flex-start}
.model-related-header p{display:none}
.model-related-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.model-related-tools strong{font-size:.7rem}
}

@media (max-width:992px){
.site-footer-with-sidebar{margin-left:0}
}

.model-title{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.model-card .badge{
    font-size:8px;
    font-weight:700;
}

.external-creator{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:6px;
    font-size:11px;
    color:#64748b;
}

.external-creator-main{
    display:flex;
    align-items:center;
    gap:5px;
    min-width:0;
}

.external-creator a,
.external-creator span{
    color:#64748b;
    text-decoration:none;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.external-creator-main a,
.external-creator-main span{
    min-width:0;
}

.model-price-inline{
    flex:0 0 auto;
    max-width:74px;
    padding:2px 6px;
    border-radius:999px;
    font-size:9px;
    font-weight:800;
    line-height:1.35;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.model-price-free{
    background:#dcfce7;
    color:#15803d;
}

.model-price-paid{
    background:#fef3c7;
    color:#92400e;
}

.creator-avatar-card{
    width:16px;
    height:16px;
    border-radius:50%;
    object-fit:cover;
    flex:0 0 auto;
}

.model-meta-row{
    display:flex;
    align-items:center;
    gap:4px;
    flex-wrap:nowrap;
    overflow:hidden;
    margin-bottom:7px;
}

.model-meta-badge{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.source-badge{
    border:1px solid rgba(255,255,255,.72);
    box-shadow:0 6px 16px rgba(15,23,42,.14);
    letter-spacing:0;
}

.source-badge-cults3d,
.source-badge-cults-3d{
    background:#1769ff;
    color:#ffffff;
}

.source-badge-printables{
    background:#ff6b21;
    color:#ffffff;
}

.source-badge-thingiverse{
    background:#1f9fd0;
    color:#ffffff;
}

.source-badge-myminifactory,
.source-badge-my-mini-factory{
    background:#7c3aed;
    color:#ffffff;
}

.source-badge-source{
    background:#334155;
    color:#ffffff;
}

/* =========================
   STATS
========================= */

.stats{
    text-align:center;
}

.stats .value{
    font-size:11px;
    font-weight:600;
}

.stats .label{
    font-size:9px;
    color:#6c757d;
}

/* =========================
   FAVORITE BUTTON
========================= */

.model-card-actions{
    display:flex;
    align-items:center;
    gap:6px;
    margin-top:6px;
}

.model-card-actions .btn{
    min-height:28px;
    border-radius:6px;
    font-size:11px;
    font-weight:700;
    padding:4px 8px;
}

.model-source-btn{
    flex:1 1 auto;
}

.model-save-btn{
    flex:0 0 auto;
    min-width:64px;
}

.model-saved-card-badge{
    display:inline-flex;
    align-items:center;
    gap:4px;
    border:1px solid rgba(22,101,52,.22);
    background:#16a34a;
    color:#ffffff;
    box-shadow:0 6px 18px rgba(15,23,42,.18);
}

.model-card-saved-note{
    display:flex;
    align-items:center;
    gap:5px;
    max-width:100%;
    margin:0 0 5px;
    padding:5px 6px;
    border:1px solid #badbcc;
    border-radius:6px;
    background:#f0fdf4;
    color:#166534;
    font-size:9.5px;
    font-weight:700;
    line-height:1.2;
    text-decoration:none;
}

.model-card-saved-note span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.model-card-saved-note:hover{
    color:#0f5132;
}

/* =========================
   AUTH
========================= */

.auth-body{
    min-height:100vh;
    background:
        radial-gradient(circle at top left, rgba(13,110,253,.12), transparent 30%),
        #f5f7fb;
}

.auth-page{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px 16px;
}

.auth-page-split{
    display:grid;
    grid-template-columns:minmax(0, 1.08fr) minmax(360px, 430px);
    gap:28px;
    width:min(100%, 1080px);
    margin:0 auto;
}

.auth-intro{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:520px;
    padding:34px;
    border:1px solid #dbe6f3;
    border-radius:14px;
    background:#ffffff;
}

.auth-kicker{
    margin:0 0 14px;
    color:#0d6efd;
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.auth-intro h1{
    margin:0 0 18px;
    color:#0f172a;
    font-size:42px;
    line-height:1.08;
    font-weight:850;
}

.auth-intro p{
    max-width:640px;
    margin:0;
    color:#475569;
    font-size:16px;
    line-height:1.65;
}

.auth-benefits{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin-top:28px;
}

.auth-benefits div{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border:1px solid #e2e8f0;
    border-radius:8px;
    background:#f8fafc;
    color:#1e293b;
    font-weight:700;
}

.auth-benefits i{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:8px;
    background:#e7f0ff;
    color:#0d6efd;
}

.auth-card{
    width:min(100%, 430px);
    padding:28px;
    border:1px solid #e1e7ef;
    border-radius:14px;
    background:#ffffff;
    box-shadow:0 16px 40px rgba(15,23,42,.08);
}

.auth-page-split .auth-card{
    align-self:center;
}

.auth-brand{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:28px;
    color:#0f172a;
    font-size:18px;
    font-weight:800;
}

.auth-brand-mark{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    border-radius:10px;
    background:#0d6efd;
    color:#ffffff;
}

.auth-heading{
    margin-bottom:22px;
}

.auth-heading h1{
    margin:0 0 7px;
    font-size:30px;
    line-height:1.1;
    font-weight:800;
}

.auth-heading p{
    margin:0;
    color:#64748b;
    line-height:1.45;
}

.auth-form .form-label{
    color:#334155;
    font-size:13px;
    font-weight:700;
}

.auth-form .form-control{
    min-height:44px;
    border-color:#dbe3ee;
    border-radius:9px;
}

.auth-check{
    display:flex;
    align-items:center;
    gap:9px;
    color:#334155;
    font-size:14px;
    font-weight:700;
}

.auth-check input{
    width:16px;
    height:16px;
}

.auth-submit{
    min-height:44px;
    border-radius:9px;
    font-weight:800;
}

.auth-link-row{
    display:flex;
    justify-content:center;
    gap:6px;
    margin-top:20px;
    color:#64748b;
    font-size:14px;
}

.auth-link-row a{
    font-weight:800;
}

/* =========================
   SETTINGS
========================= */

.settings-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.settings-panel{
    background:#ffffff;
    border:1px solid #e7ebf0;
    border-radius:8px;
    padding:22px;
}

.settings-panel-icon{
    color:#0d6efd;
    font-size:30px;
    line-height:1;
}

.user-admin-summary{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:12px;
}

.user-admin-summary section{
display:flex;
align-items:center;
gap:13px;
padding:17px;
border:1px solid #e2e8f0;
border-radius:14px;
background:#fff;
box-shadow:0 8px 22px rgba(15,23,42,.04);
}

.user-admin-summary i{
width:42px;
height:42px;
display:grid;
place-items:center;
border-radius:12px;
background:#eaf2ff;
color:#0d6efd;
font-size:1.15rem;
}

.user-admin-summary section div{
display:flex;
flex-direction:column;
}

.user-admin-summary span{
color:#64748b;
font-size:.76rem;
}

.user-admin-summary strong{
font-size:1.45rem;
line-height:1.1;
}

.user-admin-filters{
display:grid;
grid-template-columns:minmax(240px,1fr) 170px 170px auto auto;
gap:9px;
}

.user-admin-identity{
display:flex;
align-items:center;
gap:10px;
min-width:240px;
}

.user-admin-identity>span{
width:38px;
height:38px;
display:grid;
place-items:center;
flex:0 0 auto;
border-radius:50%;
background:#eaf2ff;
color:#0d6efd;
font-weight:800;
}

.user-admin-identity div{
display:flex;
flex-direction:column;
min-width:0;
}

.user-admin-identity small{
color:#64748b;
}

.user-detail-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:10px;
}

.user-detail-grid div{
padding:12px;
border:1px solid #e2e8f0;
border-radius:10px;
background:#f8fafc;
}

.user-detail-grid span,
.user-detail-grid strong{
display:block;
}

.user-detail-grid span{
color:#64748b;
font-size:.72rem;
}

.user-detail-grid strong{
margin-top:4px;
overflow-wrap:anywhere;
}

@media(max-width:992px){
.user-admin-summary{
grid-template-columns:repeat(2,minmax(0,1fr));
}
.user-admin-filters{
grid-template-columns:1fr 1fr;
}
.user-admin-filters input{
grid-column:1/-1;
}
}

@media(max-width:576px){
.user-admin-summary,
.user-detail-grid{
grid-template-columns:1fr;
}
.user-admin-filters{
grid-template-columns:1fr;
}
.user-admin-filters input{
grid-column:auto;
}
}

.collection-list{
    display:flex;
    flex-direction:column;
    gap:10px;
    max-height:calc(100vh - 230px);
    overflow:auto;
    padding-right:2px;
    scrollbar-width:none;
}

.collection-list::-webkit-scrollbar{
    display:none;
}

.collections-shell{
    display:grid;
    grid-template-columns:minmax(280px,360px) minmax(0,1fr);
    gap:18px;
    align-items:start;
}

.collections-pane{
    min-width:0;
    position:sticky;
    top:94px;
    max-height:calc(100vh - 110px);
    overflow:hidden;
}

.collection-models-pane{
    min-width:0;
}

.collection-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    width:100%;
    min-height:64px;
    padding:12px 14px;
    border:1px solid #e7ebf0;
    border-radius:8px;
    background:#ffffff;
    box-shadow:none;
    cursor:pointer;
    transition:border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

.collection-row > div:first-child{
    min-width:0;
    flex:1 1 auto;
}

.collection-row.active{
    border-color:#c9dcff;
    background:#f8fbff;
}

.collection-row:hover,
.collection-row:focus-visible{
    border-color:#8fb8ff;
    box-shadow:0 6px 18px rgba(15,23,42,.06);
    outline:none;
}

.collection-row form{
    align-self:flex-start;
}

.collection-row-actions{
    display:flex;
    flex-direction:row;
    gap:8px;
    align-items:flex-end;
    flex:0 0 auto;
}

.collection-row-actions .btn{
    min-width:72px;
}

.model-saved-folder{
    display:flex;
    align-items:center;
    gap:7px;
    padding:10px 12px;
    border:1px solid #badbcc;
    background:#f0fdf4;
    color:#166534;
    font-size:.86rem;
}

.model-saved-folder a{
    color:#0f5132;
    font-weight:700;
    text-decoration:none;
}

.collection-create-panel,
.selected-model-panel{
    position:sticky;
    top:94px;
}

.collection-name{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    line-height:1.2;
    margin-bottom:3px;
}

.collection-model-preview{
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:8px;
    background:#eef2f7;
}

.saved-model-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:14px;
}

.saved-model-card{
    overflow:hidden;
    border:1px solid #e7ebf0;
    border-radius:12px;
    background:#ffffff;
    box-shadow:0 4px 12px rgba(15,23,42,.04);
}

.saved-model-thumb{
    aspect-ratio:1/1;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#eef2f7;
}

.saved-model-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.saved-model-body{
    padding:12px;
}

.saved-model-title{
    min-height:38px;
    font-size:13px;
    font-weight:800;
    line-height:1.35;
}

.saved-model-actions{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:10px;
}

.saved-model-actions .btn,
.saved-model-actions form{
    flex:1 1 0;
}

.saved-model-actions .btn{
    width:100%;
    border-radius:7px;
    font-size:12px;
    font-weight:700;
}

.empty-collection{
    display:grid;
    place-items:center;
    min-height:220px;
    padding:28px;
    border:1px dashed #cfd8e3;
    border-radius:12px;
    background:#f8fafc;
    text-align:center;
}

.empty-collection i{
    color:#94a3b8;
    font-size:30px;
    margin-bottom:8px;
}

.save-model-modal{
    border:0;
    border-radius:12px;
    box-shadow:0 18px 60px rgba(15,23,42,.20);
}

.save-model-summary{
    display:grid;
    grid-template-columns:72px 1fr;
    gap:12px;
    align-items:center;
    padding:10px;
    border:1px solid #e7ebf0;
    border-radius:10px;
    background:#f8fafc;
}

.save-model-summary img{
    width:72px;
    height:72px;
    object-fit:cover;
    border-radius:8px;
    background:#eef2f7;
}

.save-model-success-panel{
    border:1px solid #bbf7d0;
    background:#f0fdf4;
    color:#14532d;
    border-radius:10px;
    padding:12px;
}

.save-model-success-panel i{
    color:#16a34a;
    font-size:20px;
    line-height:1.2;
}

.maintenance-list{
    display:grid;
    gap:10px;
    font-size:14px;
}

.maintenance-output{
    white-space:pre-wrap;
    font-family:Consolas,Monaco,monospace;
    font-size:13px;
}

.extension-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.creator-avatar{
    width:18px;
    height:18px;
    border-radius:50%;
    object-fit:cover;
    margin-right:4px;
    vertical-align:middle;
}

.external-creator{
    display:flex;
    align-items:center;
    gap:5px;
    color:#657184;
    font-size:11px;
    margin-bottom:5px;
}

.external-creator a{
    color:#4b5563;
    font-weight:600;
    text-decoration:none;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.creator-avatar-card{
    width:16px;
    height:16px;
    border-radius:50%;
    object-fit:cover;
    flex:0 0 16px;
    background:#edf1f6;
}

.source-time{
    color:#6b7280;
    font-size:11px;
    margin-bottom:6px;
}

.scraper-stat-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:14px;
}

.scraper-stat{
    background:#ffffff;
    border:1px solid #e7ebf0;
    border-radius:8px;
    padding:16px 18px;
}

.scraper-stat-label{
    color:#687385;
    font-size:13px;
    font-weight:600;
    margin-bottom:6px;
}

.scraper-stat-value{
    color:#111827;
    font-size:24px;
    font-weight:800;
    line-height:1.1;
}

.scraper-progress{
    height:6px;
}

.deploy-status{
    background:#ffffff;
    border:1px solid #dbe3ee;
    border-left:4px solid #6c757d;
    border-radius:8px;
    padding:16px 18px;
}

.deploy-status-success{
    border-left-color:#198754;
}

.deploy-status-danger{
    border-left-color:#dc3545;
}

.deploy-status-info{
    border-left-color:#0dcaf0;
}

.deploy-modal{
    border:0;
    border-radius:8px;
}

.scrape-progress-box{
    background:#f6f8fb;
    border:1px solid #e1e7ef;
    border-radius:8px;
    padding:12px 14px;
    font-size:14px;
}

.scrape-log-tail{
    max-height:180px;
    overflow:auto;
    white-space:pre-wrap;
    border:1px solid #dbe3ee;
    border-radius:8px;
    background:#111827;
    color:#e5e7eb;
    padding:10px;
    font-size:12px;
}

.cron-setup-table th{
    white-space:nowrap;
    font-size:13px;
    color:#334155;
}

.cron-setup-table td{
    min-width:110px;
    vertical-align:top;
}

.cron-setup-table td:first-child{
    min-width:190px;
}

.cron-setup-table td:nth-child(2){
    min-width:210px;
}

/* =========================
   INDEX HEALTH
========================= */

.index-health-content{
    padding-top:88px;
}

.index-health-page-head{
    min-width:0;
}

.index-health-page-head > div:first-child{
    min-width:260px;
}

.index-health-actions{
    flex-wrap:wrap;
    justify-content:flex-end;
    max-width:100%;
}

.index-health-actions .badge{
    min-height:31px;
    display:inline-flex;
    align-items:center;
    white-space:normal;
    text-align:left;
}

.index-health-actions .btn{
    min-height:32px;
    white-space:nowrap;
}

.cron-number-input{
    width:118px;
}

.cron-small-input{
    width:82px;
}

.cron-health-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.cron-health-card{
    border:1px solid #e1e7ef;
    border-left-width:4px;
    border-radius:8px;
    padding:14px;
    background:#fff;
}

.cron-health-success{
    border-left-color:#198754;
}

.cron-health-warning{
    border-left-color:#ffc107;
}

.cron-health-danger{
    border-left-color:#dc3545;
}

.cron-health-label{
    font-size:22px;
    font-weight:800;
    line-height:1.1;
}

.cron-pipeline{
    display:grid;
    gap:12px;
}

.cron-pipeline-step{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:12px;
    border:1px solid #e1e7ef;
    border-radius:8px;
    background:#f8fafc;
}

.cron-pipeline-step span{
    width:26px;
    height:26px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#0d6efd;
    color:#fff;
    font-size:13px;
    font-weight:700;
    flex:0 0 auto;
}

.cron-health-source-table th,
.cron-health-source-table td{
    white-space:nowrap;
}

.cron-log-preview{
    min-height:160px;
    max-height:260px;
    overflow:auto;
    white-space:pre-wrap;
    background:#111827;
    color:#e5e7eb;
    border-radius:8px;
    padding:12px;
    font-size:12px;
}

.cron-live-panel{
    border:1px solid #e1e7ef;
    border-left:4px solid #94a3b8;
    border-radius:8px;
    background:#fff;
    padding:16px;
}

.cron-live-ok{
    border-left-color:#198754;
}

.cron-live-warn{
    border-left-color:#ffc107;
}

.cron-live-bad{
    border-left-color:#dc3545;
}

.cron-live-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    display:inline-block;
    background:#94a3b8;
}

.cron-live-ok .cron-live-dot{
    background:#198754;
    box-shadow:0 0 0 5px rgba(25,135,84,.12);
}

.cron-live-warn .cron-live-dot{
    background:#ffc107;
    box-shadow:0 0 0 5px rgba(255,193,7,.16);
}

.cron-live-bad .cron-live-dot{
    background:#dc3545;
    box-shadow:0 0 0 5px rgba(220,53,69,.12);
}

.cron-live-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.cron-live-metric{
    border:1px solid #e1e7ef;
    border-radius:8px;
    padding:12px;
    background:#f8fafc;
}

.cron-live-job{
    border:1px solid #dbe3ee;
    border-radius:8px;
    padding:12px;
    background:#f8fafc;
}

.cron-live-progress{
    height:8px;
}

.cron-live-log{
    min-height:120px;
    max-height:200px;
}

.cron-command-center{padding:24px;border:1px solid #cfe0f5;border-radius:18px;background:linear-gradient(145deg,#f8fbff 0%,#fff 56%,#f4f8ff 100%);box-shadow:0 14px 35px rgba(21,54,94,.08)}
.cron-command-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.cron-command-kicker{margin-bottom:5px;color:#1565c0;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.cron-command-clock{min-width:170px;padding:12px 15px;border:1px solid #d8e6f6;border-radius:13px;background:#fff;text-align:right}
.cron-command-clock span,.cron-command-clock small{display:block;color:#667085;font-size:.72rem}
.cron-command-clock strong{display:block;color:#173b66;font-size:1.05rem}
.cron-command-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cron-command-card{min-height:145px;padding:17px;border:1px solid #dce7f3;border-radius:14px;background:#fff}
.cron-command-current{border-top:4px solid #0d6efd}.cron-command-next{border-top:4px solid #7c3aed}.cron-command-queue{border-top:4px solid #198754}
.cron-command-queue.cron-queue-blocked{border-top-color:#dc3545;background:#fff8f8}.cron-command-queue.cron-queue-working{border-top-color:#f59e0b}
.cron-command-card-label{display:flex;align-items:center;gap:7px;margin-bottom:14px;color:#667085;font-size:.73rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.cron-command-primary{margin-bottom:6px;color:#162b45;font-size:1.02rem;font-weight:850}.cron-command-meta{color:#667085;font-size:.78rem;line-height:1.45}
.cron-command-lower{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);gap:18px;margin-top:18px;padding-top:18px;border-top:1px solid #dce7f3}
.cron-next-timeline{display:grid;gap:8px}.cron-timeline-item{display:grid;grid-template-columns:72px minmax(0,1fr) 125px;align-items:center;gap:10px;padding:9px 11px;border:1px solid #e2eaf3;border-radius:10px;background:#fff}
.cron-timeline-item span{color:#1565c0;font-size:.72rem;font-weight:900}.cron-timeline-item strong{color:#263b53;font-size:.82rem}.cron-timeline-item small{color:#667085;text-align:right}
.cron-command-maintenance>div{display:flex;flex-wrap:wrap;gap:7px}.cron-maintenance-chip{padding:6px 9px;border:1px solid #d9e4f0;border-radius:999px;background:#fff;color:#344054;font-size:.72rem;font-weight:800}
.cron-advanced-details{padding:0;overflow:hidden}.cron-advanced-details>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px;cursor:pointer;list-style:none}
.cron-advanced-details>summary::-webkit-details-marker{display:none}.cron-advanced-details>summary span{display:grid;gap:2px}.cron-advanced-details>summary small{color:#667085;font-weight:400}
.cron-advanced-details[open]>summary{border-bottom:1px solid #e4eaf1}.cron-advanced-details[open]>summary i{transform:rotate(180deg)}.cron-advanced-body{padding:20px}

.scheduler-command-page .settings-panel{
    border-radius:8px;
}

.scheduler-health-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:12px;
}

.scheduler-health-card{
    min-height:150px;
    padding:14px;
    border:1px solid #d8e1ec;
    border-radius:8px;
    background:#fff;
}

.scheduler-health-title{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:10px;
    color:#22324a;
}

.scheduler-health-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#dc3545;
    box-shadow:0 0 0 4px rgba(220,53,69,.12);
    flex:0 0 auto;
}

.scheduler-health-card.is-ok .scheduler-health-dot{
    background:#198754;
    box-shadow:0 0 0 4px rgba(25,135,84,.12);
}

.scheduler-health-state{
    display:inline-flex;
    margin-bottom:8px;
    padding:3px 7px;
    border-radius:6px;
    background:#f8d7da;
    color:#842029;
    font-size:.72rem;
    font-weight:800;
}

.scheduler-health-card.is-ok .scheduler-health-state{
    background:#d1e7dd;
    color:#0f5132;
}

.scheduler-health-card p{
    color:#475467;
    font-size:.82rem;
}

.scheduler-health-card small{
    color:#667085;
}

.scheduler-command-grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
    gap:16px;
}

.scheduler-empty-state{
    display:grid;
    gap:4px;
    padding:16px;
    border:1px dashed #cbd5e1;
    border-radius:8px;
    background:#f8fafc;
    color:#475467;
}

.scheduler-empty-state strong{
    color:#22324a;
}

.scheduler-run-card,
.scheduler-plan-step,
.scheduler-window-card,
.scheduler-next-times article{
    border:1px solid #dbe3ee;
    border-radius:8px;
    background:#fff;
}

.scheduler-run-card{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding:12px;
}

.scheduler-run-card.is-live-job{
    border-color:#198754;
    box-shadow:0 0 0 1px rgba(25,135,84,.22), 0 10px 24px rgba(25,135,84,.08);
}

.scheduler-next-times{
    display:grid;
    gap:10px;
}

.scheduler-next-times article{
    display:grid;
    gap:3px;
    padding:12px;
}

.scheduler-next-times span{
    color:#667085;
    font-size:.76rem;
    font-weight:800;
    text-transform:uppercase;
}

.scheduler-next-times strong{
    color:#22324a;
}

.scheduler-next-times small{
    color:#475467;
}

.scheduler-plan-list{
    display:grid;
    gap:10px;
}

.scheduler-plan-step{
    display:grid;
    grid-template-columns:40px minmax(0,1fr) 150px;
    gap:14px;
    align-items:start;
    padding:14px;
}

.scheduler-step-number{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:8px;
    background:#0d6efd;
    color:#fff;
    font-weight:900;
}

.scheduler-step-main strong{
    display:block;
    margin-bottom:4px;
    color:#22324a;
}

.scheduler-step-main p{
    margin:0;
    color:#475467;
}

.scheduler-step-meta{
    display:grid;
    justify-items:end;
    gap:8px;
}

.scheduler-step-meta small{
    color:#667085;
}

.scheduler-window-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}

.scheduler-window-card{
    padding:12px;
}

.scheduler-alert-panel .alert:last-child{
    margin-bottom:0;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px){
.cron-command-grid,.cron-command-lower{grid-template-columns:1fr}.cron-command-head{display:grid}.cron-command-clock{text-align:left}
.scheduler-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.scheduler-command-grid{grid-template-columns:1fr}
.scheduler-window-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.scheduler-plan-step{grid-template-columns:32px minmax(0,1fr)}
.scheduler-step-meta{grid-column:2;justify-items:start}
}

@media(max-width:600px){
.cron-command-center{padding:16px}.cron-timeline-item{grid-template-columns:1fr}.cron-timeline-item small{text-align:left}
.scheduler-health-grid,.scheduler-window-grid{grid-template-columns:1fr}
.scheduler-run-card{display:grid}
.scheduler-plan-step{grid-template-columns:1fr}
.scheduler-step-meta{grid-column:auto}
}

@media(max-width:1600px){

.masonry-grid{
    column-count:5;
}

}

@media(max-width:1300px){

.masonry-grid{
    column-count:4;
}

}

@media(max-width:992px){

.sidebar{
    display:none;
}

.main-content{
    margin-left:0;
}

.page-content{
    padding-bottom:82px;
}

.masonry-grid{
    column-count:3;
}

.directory-seo-panel{
    grid-template-columns:1fr;
}

.seo-landing-hero{
    grid-template-columns:1fr;
}

.seo-landing-faq>div{
    grid-template-columns:1fr;
}

.collections-shell{
    grid-template-columns:1fr;
}

.collections-pane{
    position:static;
    max-height:none;
    overflow:visible;
}

.collection-list{
    max-height:none;
    overflow:visible;
}

.cron-health-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.cron-live-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

}

@media(max-width:768px){

.navbar{
    height:64px;
    min-height:64px;
    padding:7px 0;
}

.navbar.is-hidden{
    opacity:0;
    transform:translateY(-100%);
    pointer-events:none;
}

.navbar .container-fluid{
    flex-wrap:nowrap;
    gap:7px;
}

.navbar-brand{
    flex:0 0 auto;
    max-width:none;
    margin-right:0;
}

.page-content{
    padding-top:74px;
}

.index-health-content{
    padding-top:78px;
}

.index-health-page-head > div:first-child{
    min-width:0;
}

.index-health-actions{
    justify-content:flex-start;
}

.sticky-filter-shell{
    top:64px;
    margin-left:-9px;
    margin-right:-9px;
    margin-bottom:18px;
    padding:8px 9px 12px;
}

.sticky-filter-shell.is-hidden{
    opacity:0;
    transform:translateY(-100%);
    pointer-events:none;
}

.navbar-actions .btn-danger{
    padding-left:8px;
    padding-right:8px;
}

.navbar-actions .btn-danger{
    font-size:0;
}

.navbar-actions .btn-danger::before{
    content:"Exit";
    font-size:12px;
}

.masonry-grid{
    column-count:2;
    column-gap:10px;
}

.directory-seo-panel{
    margin-bottom:14px;
    padding:16px;
}

.directory-seo-panel h1{
    font-size:1.35rem;
}

.directory-seo-panel p{
    font-size:.9rem;
    line-height:1.55;
}

.directory-seo-links{
    padding:12px;
}

.seo-landing-page{
    width:min(100% - 18px, 1480px);
    padding-top:78px;
}

.seo-landing-hero{
    padding:16px;
}

.seo-landing-copy h1{
    font-size:1.55rem;
}

.seo-landing-copy p{
    font-size:.92rem;
    line-height:1.55;
}

.seo-landing-actions .btn{
    flex:1 1 180px;
}

.settings-grid{
    grid-template-columns:1fr;
}

.scraper-stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.cron-health-grid{
    grid-template-columns:1fr;
}

.cron-live-grid{
    grid-template-columns:1fr;
}

}

.analytics-health{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:12px;
}

.analytics-setup-progress{
min-width:92px;
display:flex;
flex-direction:column;
align-items:flex-end;
}

.analytics-setup-progress strong{
font-size:1.35rem;
color:#0d6efd;
}

.analytics-setup-progress span{
font-size:.78rem;
color:#6b7280;
}

.analytics-setup-toggle{
width:100%;
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:18px;
padding:0;
margin:0 0 18px;
border:0;
background:transparent;
text-align:left;
color:inherit;
}

.analytics-setup-toggle[aria-expanded="false"]{
margin-bottom:0;
}

.analytics-setup-toggle-meta{
display:flex;
align-items:center;
gap:13px;
flex:0 0 auto;
}

.analytics-setup-chevron{
font-size:1.1rem;
color:#64748b;
transition:transform .2s ease;
}

.analytics-setup-toggle[aria-expanded="true"] .analytics-setup-chevron{
transform:rotate(180deg);
}

.analytics-setup-steps{
display:flex;
flex-direction:column;
gap:12px;
}

.analytics-setup-step{
display:grid;
grid-template-columns:42px minmax(0,1fr) auto;
align-items:start;
gap:14px;
padding:15px;
border:1px solid #e5e7eb;
border-radius:13px;
background:#fff;
}

.analytics-setup-step.is-done{
border-color:#bbf7d0;
background:#f8fff9;
}

.analytics-setup-step.is-required{
border-color:#fde68a;
background:#fffdf5;
}

.analytics-setup-number{
width:38px;
height:38px;
display:grid;
place-items:center;
border-radius:50%;
background:#fff3cd;
color:#8a6100;
font-weight:800;
border:1px solid #ffe69c;
}

.analytics-setup-step.is-done .analytics-setup-number{
background:#d1e7dd;
color:#0f5132;
border-color:#a3cfbb;
}

.analytics-setup-content p{
font-size:.9rem;
}

.analytics-copy-note{
display:inline-block;
padding:8px 10px;
border-radius:8px;
background:#f1f5f9;
font-size:.8rem;
color:#475569;
}

.analytics-saved-secret{
display:flex;
align-items:flex-start;
gap:11px;
padding:13px;
border:1px solid #a3cfbb;
border-radius:10px;
background:#f0fff6;
color:#0f5132;
}

.analytics-saved-secret>i{
font-size:1.25rem;
line-height:1.2;
}

.analytics-saved-secret div{
display:flex;
flex-direction:column;
gap:2px;
min-width:0;
}

.analytics-saved-secret span{
font-size:.82rem;
color:#35705a;
overflow-wrap:anywhere;
}

.analytics-permission-fix{
padding:20px;
border:1px solid #f6c453;
border-radius:14px;
background:#fffaf0;
box-shadow:0 8px 24px rgba(120,80,0,.06);
}

.analytics-permission-heading{
display:flex;
align-items:flex-start;
gap:13px;
color:#664d03;
}

.analytics-permission-heading>i{
font-size:1.6rem;
}

.analytics-permission-steps{
margin:18px 0;
padding-left:1.4rem;
}

.analytics-permission-steps li{
margin-bottom:9px;
}

.analytics-permission-email{
display:block;
width:fit-content;
max-width:100%;
margin-top:6px;
padding:8px 10px;
border:1px solid #f1d58a;
border-radius:8px;
background:#fff;
overflow-wrap:anywhere;
user-select:all;
}

.analytics-replace-secret{
padding:10px 12px;
border:1px dashed #cbd5e1;
border-radius:9px;
background:#f8fafc;
}

.analytics-replace-secret summary{
cursor:pointer;
font-weight:600;
color:#475569;
}

.analytics-health-item,
.analytics-kpi-card{
display:flex;
align-items:center;
gap:12px;
background:#fff;
border:1px solid #e5e7eb;
border-radius:14px;
padding:15px;
box-shadow:0 8px 24px rgba(15,23,42,.04);
}

.analytics-health-item>i{
font-size:1.25rem;
}

.analytics-health-item div,
.analytics-kpi-card div:last-child{
display:flex;
flex-direction:column;
min-width:0;
}

.analytics-health-item small,
.analytics-kpi-card small{
color:#6b7280;
}

.analytics-range{
display:flex;
align-items:center;
gap:8px;
padding:12px 14px;
background:#fff;
border:1px solid #e5e7eb;
border-radius:12px;
}

.analytics-kpi-grid{
display:grid;
grid-template-columns:repeat(7,minmax(0,1fr));
gap:12px;
}

.analytics-kpi-grid-six{
grid-template-columns:repeat(6,minmax(0,1fr));
}

.analytics-kpi-icon{
width:42px;
height:42px;
display:grid;
place-items:center;
border-radius:12px;
background:#eaf2ff;
color:#0d6efd;
font-size:1.15rem;
flex:0 0 auto;
}

.analytics-kpi-card strong{
font-size:1.35rem;
line-height:1.15;
}

.analytics-kpi-change{
display:flex;
align-items:center;
gap:3px;
margin-top:4px;
font-size:.68rem;
font-weight:600;
}

.analytics-kpi-change.is-positive{
color:#198754;
}

.analytics-kpi-change.is-negative{
color:#dc3545;
}

.analytics-report-section-title{
display:flex;
align-items:center;
justify-content:space-between;
margin:28px 0 12px;
}

.analytics-report-section-title span{
display:block;
margin-bottom:2px;
font-size:.72rem;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
color:#0d6efd;
}

.analytics-report-section-title h2{
margin:0;
font-size:1.25rem;
font-weight:750;
}

.analytics-empty-state{
display:grid;
place-items:center;
min-height:110px;
color:#6b7280;
text-align:center;
}

.analytics-live-status{
margin-top:3px;
font-size:.67rem;
line-height:1.2;
color:#198754;
white-space:nowrap;
}

.analytics-live-panel{
padding:20px;
border:1px solid #b6e2c7;
border-radius:16px;
background:linear-gradient(135deg,#f4fff8,#fff);
box-shadow:0 10px 28px rgba(25,135,84,.07);
}

.analytics-live-header{
display:flex;
align-items:center;
gap:24px;
margin-bottom:18px;
}

.analytics-live-total{
min-width:230px;
display:flex;
align-items:center;
gap:14px;
padding:14px 18px;
border-radius:13px;
background:#fff;
border:1px solid #a3cfbb;
}

.analytics-live-total>div{
display:flex;
flex-direction:column;
}

.analytics-live-total small{
color:#557065;
}

.analytics-live-total strong{
font-size:2rem;
line-height:1.05;
color:#146c43;
}

.analytics-live-pulse{
width:13px;
height:13px;
border-radius:50%;
background:#20c997;
box-shadow:0 0 0 0 rgba(32,201,151,.6);
animation:analytics-live-pulse 1.8s infinite;
}

@keyframes analytics-live-pulse{
0%{box-shadow:0 0 0 0 rgba(32,201,151,.55)}
70%{box-shadow:0 0 0 10px rgba(32,201,151,0)}
100%{box-shadow:0 0 0 0 rgba(32,201,151,0)}
}

.analytics-live-grid{
display:grid;
grid-template-columns:repeat(5,minmax(0,1fr));
gap:12px;
}

.analytics-live-card{
padding:14px;
border:1px solid #dce7e1;
border-radius:12px;
background:#fff;
min-width:0;
}

.analytics-live-card-title{
display:flex;
align-items:center;
gap:8px;
margin-bottom:13px;
color:#234;
}

.analytics-live-card-title i{
color:#198754;
}

.analytics-live-list{
display:flex;
flex-direction:column;
gap:11px;
}

.analytics-live-row>div:first-child{
display:flex;
justify-content:space-between;
gap:8px;
font-size:.78rem;
}

.analytics-live-row>div:first-child span{
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

.analytics-live-row>div:first-child strong{
flex:0 0 auto;
}

.analytics-live-track{
height:5px;
margin-top:4px;
border-radius:999px;
background:#edf2ef;
overflow:hidden;
}

.analytics-live-track span{
display:block;
height:100%;
border-radius:inherit;
background:#20c997;
}

.analytics-live-note{
display:block;
margin-top:12px;
font-size:.68rem;
line-height:1.35;
color:#6b7280;
}

.analytics-live-page-kicker{
display:flex;
align-items:center;
gap:7px;
margin-bottom:5px;
font-size:.72rem;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
color:#198754;
}

.analytics-live-page-kicker span{
width:9px;
height:9px;
border-radius:50%;
background:#20c997;
box-shadow:0 0 0 5px rgba(32,201,151,.13);
}

.analytics-live-command{
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
padding:20px;
border:1px solid #a3cfbb;
border-radius:16px;
background:linear-gradient(135deg,#effff5,#fff);
}

.analytics-live-command-total{
display:flex;
align-items:center;
gap:18px;
}

.analytics-live-command-total>div{
display:flex;
flex-direction:column;
}

.analytics-live-command-total small{
color:#557065;
}

.analytics-live-command-total strong{
font-size:2.8rem;
line-height:1;
color:#146c43;
}

.analytics-live-command-total div>span{
margin-top:4px;
font-size:.75rem;
color:#198754;
}

.analytics-live-command-meta{
display:flex;
align-items:center;
gap:28px;
}

.analytics-live-command-meta>div{
display:flex;
flex-direction:column;
}

.analytics-live-command-meta small{
font-size:.7rem;
color:#6b7280;
}

.analytics-live-command-meta strong{
font-size:.88rem;
}

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

.analytics-live-page-card{
min-height:245px;
}

.analytics-live-page-card .analytics-live-card-title{
align-items:flex-start;
}

.analytics-live-page-card .analytics-live-card-title i{
font-size:1.2rem;
}

.analytics-live-page-card .analytics-live-card-title div{
display:flex;
flex-direction:column;
gap:2px;
}

.analytics-live-page-card .analytics-live-card-title small{
font-size:.75rem;
color:#6b7280;
}

.analytics-live-loading,
.analytics-live-empty{
min-height:150px;
display:flex;
align-items:center;
justify-content:center;
gap:8px;
color:#6b7280;
font-size:.82rem;
text-align:center;
}

.analytics-live-empty{
flex-direction:column;
}

.analytics-live-empty i{
font-size:1.35rem;
color:#94a3b8;
}

.analytics-trend-chart{
height:250px;
display:flex;
align-items:stretch;
gap:5px;
padding-top:10px;
overflow-x:auto;
}

.analytics-trend-column{
min-width:20px;
flex:1 0 20px;
display:flex;
flex-direction:column;
justify-content:flex-end;
align-items:center;
gap:7px;
}

.analytics-trend-bar{
width:100%;
max-width:28px;
min-height:3px;
background:linear-gradient(180deg,#0d6efd,#6ea8fe);
border-radius:6px 6px 2px 2px;
}

.analytics-trend-column small{
font-size:.62rem;
color:#6b7280;
white-space:nowrap;
transform:rotate(-45deg);
height:32px;
}

.analytics-table td strong,
.analytics-table td small{
display:block;
}

.analytics-table td small{
max-width:420px;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
color:#6b7280;
}

.analytics-ranking-list{
display:flex;
flex-direction:column;
gap:15px;
}

.analytics-ranking-row>div:first-child{
display:flex;
justify-content:space-between;
gap:10px;
font-size:.9rem;
}

.analytics-ranking-row span{
color:#6b7280;
}

.analytics-ranking-track{
height:7px;
margin-top:6px;
background:#edf2f7;
border-radius:999px;
overflow:hidden;
}

.analytics-ranking-track span{
display:block;
height:100%;
background:#0d6efd;
border-radius:inherit;
}

.analytics-device-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:12px;
}

.analytics-device-card{
display:flex;
flex-direction:column;
align-items:center;
gap:6px;
padding:20px 10px;
border:1px solid #e5e7eb;
border-radius:12px;
background:#f8fafc;
}

.analytics-device-card i{
font-size:1.5rem;
color:#0d6efd;
}

.analytics-device-card strong{
font-size:1.4rem;
}

.analytics-device-card span{
color:#6b7280;
font-size:.82rem;
}

@media(max-width:1200px){
.analytics-kpi-grid{
grid-template-columns:repeat(4,minmax(0,1fr));
}
.analytics-kpi-grid-six{
grid-template-columns:repeat(3,minmax(0,1fr));
}
.analytics-live-grid{
grid-template-columns:repeat(3,minmax(0,1fr));
}
.analytics-live-page-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}

@media(max-width:992px){
.analytics-health{
grid-template-columns:repeat(2,minmax(0,1fr));
}
.analytics-kpi-grid{
grid-template-columns:repeat(3,minmax(0,1fr));
}
.analytics-live-header{
align-items:flex-start;
flex-direction:column;
gap:12px;
}
.analytics-live-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
.analytics-live-command{
align-items:flex-start;
flex-direction:column;
}
.analytics-live-command-meta{
width:100%;
justify-content:space-between;
}
}

@media(max-width:576px){

.analytics-setup-toggle{
gap:10px;
}

.analytics-setup-toggle h2{
font-size:1.05rem;
}

.analytics-setup-toggle p{
font-size:.78rem;
}

.analytics-setup-toggle-meta{
gap:7px;
}

.analytics-setup-progress{
min-width:58px;
}

.analytics-setup-progress strong{
font-size:1rem;
}

.analytics-setup-step{
grid-template-columns:36px minmax(0,1fr);
padding:12px;
}

.analytics-setup-step>.btn{
grid-column:2;
justify-self:start;
}

.analytics-setup-number{
width:34px;
height:34px;
}

.analytics-health,
.analytics-kpi-grid{
grid-template-columns:1fr 1fr;
}

.analytics-kpi-grid-six{
grid-template-columns:1fr 1fr;
}

.analytics-range{
flex-wrap:wrap;
}

.analytics-range .ms-auto{
width:100%;
margin-left:0!important;
}

.analytics-kpi-card{
padding:11px;
}

.analytics-kpi-icon{
width:34px;
height:34px;
}

.analytics-kpi-card strong{
font-size:1.05rem;
}

.analytics-device-grid{
grid-template-columns:1fr;
}

.analytics-live-panel{
padding:13px;
}

.analytics-live-total{
width:100%;
min-width:0;
}

.analytics-live-grid{
grid-template-columns:1fr;
}

.analytics-live-command{
padding:14px;
}

.analytics-live-command-total strong{
font-size:2.2rem;
}

.analytics-live-command-meta{
align-items:flex-start;
flex-wrap:wrap;
gap:12px 22px;
}

.analytics-live-page-grid{
grid-template-columns:1fr;
}

.filter-chip-rail{
    gap:7px;
}

.filter-btn{
    padding:6px 12px;
    font-size:14px;
}

.filter-scroll-btn{
    width:31px;
    height:31px;
    border-radius:8px;
}

.offcanvas{
    width:86vw!important;
    height:100dvh!important;
    max-width:340px;
    top:0!important;
    bottom:0!important;
}

.offcanvas .nav-link{
    min-height:42px;
    font-size:14px;
}

.masonry-grid{
    column-count:2;
    column-gap:7px;
}

.directory-seo-panel{
    padding:13px;
}

.directory-seo-panel h1{
    font-size:1.18rem;
}

.directory-seo-links a{
    font-size:.76rem;
}

.seo-landing-page{
    width:min(100% - 14px, 1480px);
}

.seo-landing-copy h1{
    font-size:1.3rem;
}

.seo-landing-links,
.seo-landing-faq{
    padding:13px;
}

.model-item{
    margin-bottom:7px;
}

.model-card .card-body{
    padding:6px;
}

.model-card h6{
    font-size:10.5px;
    margin-bottom:4px;
    line-height:1.22;
}

.external-creator{
    gap:4px;
    margin-bottom:5px;
    font-size:9.5px;
}

.creator-avatar-card{
    width:14px;
    height:14px;
}

.model-meta-row{
    gap:3px;
    margin-bottom:5px;
}

.model-card .badge{
    font-size:7px;
    padding:3px 4px;
}

.model-card-actions{
    gap:4px;
    margin-top:5px;
}

.model-card-actions .btn{
    font-size:9.5px;
    min-height:25px;
    padding:3px 5px;
}

.model-save-btn{
    min-width:48px;
}

.scraper-stat-grid{
    grid-template-columns:1fr;
}

.main-content{
    padding:12px 9px 9px;
}

.page-content.main-content{
    padding-top:74px;
}

.navbar-brand{
    font-size:1.05rem;
}

.search-box .btn{
    min-width:100px;
}

.navbar-actions{
    gap:4px;
}

.nav-action-btn{
    min-height:32px;
}

.nav-action-btn.btn-info{
    font-size:0;
    padding-left:9px;
    padding-right:9px;
}

.nav-action-btn.btn-info i{
    font-size:14px;
}

.mobile-header-search .btn{
    min-width:66px;
    padding-left:10px;
    padding-right:10px;
}

.header-search{
    display:none!important;
}

.mobile-header-search{
    display:flex!important;
    flex:1 1 auto;
    order:0;
}

.site-logo-text{
    display:none;
}

.site-logo-mark{
    width:38px;
    height:38px;
    border-radius:10px;
    font-size:1.08rem;
}

.navbar-actions{
    flex:0 0 auto;
}

.auth-page{
    align-items:flex-start;
    padding:20px 12px;
}

.auth-page-split{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.auth-intro{
    min-height:auto;
    padding:20px;
    border-radius:12px;
}

.auth-intro h1{
    font-size:26px;
}

.auth-intro p{
    font-size:14px;
}

.auth-benefits{
    gap:8px;
    margin-top:16px;
}

.auth-benefits div{
    padding:9px 10px;
    font-size:13px;
}

.auth-card{
    padding:22px;
    border-radius:12px;
}

.auth-brand{
    margin-bottom:22px;
    font-size:16px;
}

.auth-heading h1{
    font-size:26px;
}

}
