:root{--y:#ffd43b;--b:#111318;--d:#20232d;--g:#f6f7fb;--l:#eceef3;--m:#71717a;--r:#ef4444;--w:#fff;--shadow:0 18px 45px rgba(17,19,24,.08)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif;background:var(--g);color:var(--b)}a{text-decoration:none;color:inherit}.shell{display:flex;min-height:100vh}.side{width:268px;background:linear-gradient(180deg,#15171d,#252936);color:#fff;padding:20px 15px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:8px 8px 20px}.brand span{display:block;color:#b9bdc8;font-size:12px;margin-top:3px}.logo{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--y),#ffb703);display:grid;place-items:center;color:#111;font-weight:900;font-size:24px;box-shadow:0 10px 24px rgba(255,212,59,.28)}nav{overflow:auto;display:flex;flex-direction:column;gap:6px}nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;color:#d4d7df;font-weight:700;font-size:14px}nav a.on,nav a:hover{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 3px 0 0 var(--y)}nav i{font-style:normal}.safe{margin-top:auto;background:rgba(255,255,255,.08);border-radius:14px;padding:12px;color:#dce0ea;font-size:13px}main{margin-left:268px;width:calc(100% - 268px)}.top{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:28px 32px 18px}.top small,.top p{color:var(--m)}.top h1{margin:5px 0;font-size:28px}.top p{margin:0}.topbtn{display:flex;gap:10px;flex-wrap:wrap}.topbtn a,.btn,.card button,.loginbox button,.frontbtns a{border:0;border-radius:12px;padding:10px 15px;background:#fff;border:1px solid var(--l);font-weight:800;cursor:pointer}.topbtn .dark{background:var(--b);color:#fff}.content{padding:0 32px 40px}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.stats div,.card,.module,.templates div{background:#fff;border:1px solid var(--l);border-radius:18px;box-shadow:var(--shadow)}.stats div{padding:18px;position:relative;overflow:hidden}.stats div:after{content:"";position:absolute;right:-25px;top:-25px;width:80px;height:80px;border-radius:50%;background:#fff5bf}.stats span{color:var(--m);font-size:13px}.stats b{display:block;font-size:32px;margin:8px 0}.stats em{font-style:normal;color:#8a8d98;font-size:12px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.module{padding:22px}.module i{font-style:normal;font-size:32px}.module b{display:block;margin:12px 0 8px;font-size:18px}.module p,.note p{color:var(--m);line-height:1.7}.module.strong{background:linear-gradient(135deg,#111318,#2b2f3a);color:#fff}.module.strong p{color:#d6d8de}.card{padding:18px;margin-bottom:16px}.filter{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:10px;align-items:center}.filter button.danger{background:#fee2e2;color:#b91c1c;border:0}input,select{border:1px solid var(--l);border-radius:12px;padding:11px 12px;background:#fff;outline:none}input:focus,select:focus{border-color:#facc15;box-shadow:0 0 0 4px rgba(250,204,21,.16)}.table{overflow:auto;padding:0}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:14px;border-bottom:1px solid var(--l);text-align:left;font-size:14px}th{background:#fafafa;color:#555}.empty{text-align:center!important;padding:58px 20px!important;color:var(--m)}.empty b{font-size:18px;color:#111}.head{display:flex;justify-content:space-between;align-items:center}.buttons{display:flex;gap:10px;flex-wrap:wrap}.templates{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.templates div{padding:18px;font-weight:900}.settings{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.settings label{display:flex;flex-direction:column;gap:8px;margin:12px 0;color:#555;font-weight:800}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#fff1a8,transparent 34%),linear-gradient(135deg,#111318,#292d38)}.loginbox{width:min(420px,92vw);background:#fff;border-radius:26px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.loginbox p{color:var(--m)}.loginbox label{display:flex;flex-direction:column;gap:8px;margin:14px 0;font-weight:800;color:#555}.loginbox button{width:100%;background:linear-gradient(135deg,var(--y),#ffc107);height:46px}.err{background:#fee2e2;color:#991b1b;border-radius:12px;padding:12px}.front{min-height:100vh;background:linear-gradient(135deg,#111318,#292d38);color:#fff}.frontbox{max-width:1180px;margin:auto;padding:52px 24px}.front h1{font-size:46px;margin:20px 0 10px}.front p{color:#cfd3df;font-size:17px}.frontbtns{display:flex;gap:12px;margin:24px 0;flex-wrap:wrap}.frontbtns a:first-child{background:var(--y);color:#111}.frontgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.frontgrid div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:10px}.frontgrid div{font-size:34px}.frontgrid b{font-size:18px}.frontgrid span{font-size:14px;color:#d6d8de}@media(max-width:1100px){.stats{grid-template-columns:repeat(3,1fr)}.grid,.frontgrid{grid-template-columns:repeat(2,1fr)}.filter{grid-template-columns:1fr 1fr}.settings{grid-template-columns:1fr}}@media(max-width:760px){.shell{display:block}.side{position:static;width:100%;height:auto}.side nav{max-height:260px}main{margin-left:0;width:100%}.top{display:block;padding:22px}.topbtn{margin-top:14px}.content{padding:0 16px 30px}.stats,.grid,.frontgrid,.filter,.templates{grid-template-columns:1fr}.front h1{font-size:34px}}

.flash{padding:14px 16px;border-radius:14px;margin-bottom:16px;font-weight:800}
.flash.ok{background:#dcfce7;color:#166534}
.flash.bad{background:#fee2e2;color:#991b1b}
.tabs{display:flex;gap:10px;margin:0 0 16px;flex-wrap:wrap}
.tabs a{background:#fff;border:1px solid var(--l);border-radius:999px;padding:10px 16px;font-weight:900}
.tabs a.active{background:#111318;color:#fff;border-color:#111318}
.formcard h3{margin-top:0}
.crud-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.crud-form.source-form{grid-template-columns:repeat(5,minmax(0,1fr))}
.crud-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#555;font-weight:900}
.crud-form label.wide{grid-column:span 2}
.crud-form label.check{flex-direction:row;align-items:center;background:#f8fafc;border:1px solid var(--l);border-radius:12px;padding:11px 12px}
.crud-form label.check input{width:auto}
.crud-form button{background:linear-gradient(135deg,var(--y),#ffc107);border:0;height:42px}
.bulkbar{display:flex;gap:10px;align-items:center;padding:14px;background:#fafafa;border-bottom:1px solid var(--l)}
.bulkbar span{margin-left:auto;color:#71717a;font-weight:800}
.badge{display:inline-block;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}
.badge.ok{background:#dcfce7;color:#166534}
.badge.off{background:#f1f5f9;color:#64748b}
.link{font-weight:900;color:#2563eb}
td small{display:block;color:#71717a;margin-top:4px;line-height:1.4}
.urlcell{max-width:360px;word-break:break-all;color:#334155}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:10px 15px;background:#fff;border:1px solid var(--l);font-weight:800}
.filter .btn{height:42px}
@media(max-width:1200px){.crud-form,.crud-form.source-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.crud-form,.crud-form.source-form{grid-template-columns:1fr}.crud-form label.wide{grid-column:auto}.bulkbar{flex-wrap:wrap}}

.video-form{grid-template-columns:repeat(4,minmax(0,1fr))}
.video-form label.full{grid-column:1/-1}
.video-form textarea{min-height:96px;border:1px solid var(--l);border-radius:12px;padding:11px 12px;resize:vertical;font-family:inherit}
.two-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mini-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}
.mini-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#555;font-weight:900}
.mini-form label.wide{grid-column:span 2}
.mini-form label.check{flex-direction:row;align-items:center;background:#f8fafc;border:1px solid var(--l);border-radius:12px;padding:11px 12px}
.mini-form button{background:linear-gradient(135deg,var(--y),#ffc107);border:0;height:42px}
.inline-form{display:inline}
.inline-form button.small{padding:6px 10px;border-radius:9px}
.inline-form button.danger{background:#fee2e2;color:#991b1b;border:0}
.thumb{width:54px;height:76px;object-fit:cover;border-radius:8px;background:#f1f5f9}
.no-thumb{width:54px;height:76px;border-radius:8px;background:#f1f5f9;color:#94a3b8;display:grid;place-items:center;font-size:12px}
.video-filter{grid-template-columns:2fr repeat(6,1fr) auto auto}
@media(max-width:1200px){.video-form,.mini-form,.video-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.two-grid{grid-template-columns:1fr}}
@media(max-width:760px){.video-form,.mini-form,.video-filter{grid-template-columns:1fr}.mini-form label.wide{grid-column:auto}}

.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.note code{background:#f4f4f5;border-radius:8px;padding:3px 6px;color:#111}

.v21-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#111318,#2b2f3a);color:#fff;border-radius:22px;padding:24px;margin-bottom:18px;box-shadow:var(--shadow)}
.v21-hero h2{margin:0 0 8px;font-size:26px}
.v21-hero p{margin:0;color:#d6d8de;line-height:1.7}
.v21-api-box{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:15px;min-width:360px}
.v21-api-box b{display:block;margin-bottom:8px}
.v21-api-box code{display:block;background:#fff;color:#111;border-radius:10px;padding:9px 10px;word-break:break-all}
.v21-form{grid-template-columns:repeat(4,minmax(0,1fr))}
.v21-form label.wide{grid-column:span 2}
.ops{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.inline-form{display:inline-flex}
.inline-form button.small{padding:6px 10px;border-radius:9px}
.inline-form button.danger{background:#fee2e2;color:#991b1b;border:0}
@media(max-width:1000px){.v21-hero{display:block}.v21-api-box{min-width:0;margin-top:16px}.v21-form{grid-template-columns:1fr}.v21-form label.wide{grid-column:auto}}

/* V2.1 manga/novel scan */
.v21-hero code{font-size:13px}
.ops .small{white-space:nowrap}

.page-preview{display:flex;gap:8px;flex-wrap:wrap}
.page-preview div{background:#f8fafc;border:1px solid var(--l);border-radius:10px;padding:6px 8px;min-width:90px}
.page-preview div b{display:inline-flex;width:22px;height:22px;border-radius:50%;background:#111318;color:#fff;align-items:center;justify-content:center;margin-right:6px;font-size:12px}
.page-preview div span{font-size:12px;color:#475569}
.v21-api-box p{margin:10px 0 0}
.v21-api-box .btn{background:#fff;color:#111}

.danger-btn{background:#fee2e2!important;color:#991b1b!important;border:0!important}
.ops form{margin:0}
.ops .danger{background:#fee2e2!important;color:#991b1b!important;border:0!important}

.badge.wait{background:#fef3c7;color:#92400e}
.v21-api-box p:first-child{margin-top:0}
.v21-api-box .btn{margin-bottom:8px}

.show-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.show-card{background:#fff;border:1px solid var(--l);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.poster{height:220px;background:#f1f5f9;display:grid;place-items:center;color:#94a3b8;font-weight:900}
.poster img{width:100%;height:100%;object-fit:cover}
.show-info{padding:14px}
.show-info b{display:block;font-size:15px;margin-bottom:8px}
.show-info p{color:#71717a;font-size:13px;line-height:1.5;min-height:38px}
.show-info .btn{width:100%;margin-top:8px;background:#111318;color:#fff}

.player-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}
.player-main{padding:18px}
.episode-list,.chapter-list{padding:14px;max-height:78vh;overflow:auto}
.episode-list h3,.chapter-list h3{margin-top:0}
.episode-list a,.chapter-list a{display:flex;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:12px;margin-bottom:8px;background:#f8fafc;color:#111}
.episode-list a.active,.chapter-list a.active{background:#111318;color:#fff}
.episode-list span,.chapter-list span{color:#94a3b8;font-size:12px}

.reader-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px}
.manga-pages{display:flex;flex-direction:column;gap:14px}
.manga-page{background:#fff;border:1px solid var(--l);border-radius:18px;box-shadow:var(--shadow);padding:14px;position:relative}
.manga-page img{display:block;max-width:100%;margin:auto;border-radius:10px}
.page-num{position:absolute;left:18px;top:18px;background:#111318;color:#fff;border-radius:999px;min-width:34px;height:34px;display:grid;place-items:center;font-weight:900}

.novel-content{padding:34px;line-height:2;font-size:18px}
.novel-content h2{text-align:center;margin-top:0;margin-bottom:28px}
.novel-content p{text-indent:2em;margin:0 0 14px}

@media(max-width:1400px){.show-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1000px){.show-grid{grid-template-columns:repeat(2,1fr)}.player-layout,.reader-layout{grid-template-columns:1fr}.chapter-list,.episode-list{max-height:320px}}
@media(max-width:640px){.show-grid{grid-template-columns:1fr}.poster{height:180px}.novel-content{padding:20px;font-size:16px}}

/* Stage7 showcase layout fixes */
.v21-show-grid{
    display:grid!important;
    grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important;
    gap:18px!important;
    align-items:start!important;
}
.v21-show-card{
    background:#fff!important;
    border:1px solid var(--l)!important;
    border-radius:18px!important;
    overflow:hidden!important;
    box-shadow:var(--shadow)!important;
    min-width:0!important;
}
.v21-poster{
    display:grid!important;
    place-items:center!important;
    width:100%!important;
    aspect-ratio:3/4!important;
    background:#eef2f7!important;
    color:#94a3b8!important;
    font-weight:900!important;
    text-align:center!important;
}
.v21-poster img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
}
.v21-poster span{display:block}
.v21-poster img + span{display:none!important}
.v21-card-body{padding:14px!important}
.v21-card-body b{
    display:block!important;
    font-size:15px!important;
    margin-bottom:8px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.v21-card-body p{
    color:#71717a!important;
    font-size:13px!important;
    line-height:1.45!important;
    min-height:38px!important;
}
.dark-card-btn{
    width:100%!important;
    background:#111318!important;
    color:#fff!important;
    border:0!important;
}

/* Manga continuous reader: no number, no card, no gap */
.manga-reader-shell{
    display:grid!important;
    grid-template-columns:260px minmax(0,1fr)!important;
    gap:14px!important;
    align-items:start!important;
}
.manga-chapter-list{
    position:sticky!important;
    top:12px!important;
    max-height:88vh!important;
    overflow:auto!important;
}
.manga-continuous-pages{
    display:block!important;
    max-width:980px!important;
    margin:0 auto!important;
    background:#fff!important;
    line-height:0!important;
    font-size:0!important;
}
.manga-continuous-pages img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    vertical-align:top!important;
}
.manga-reader-head{margin-bottom:12px!important}

/* override old reader styles */
.manga-pages{gap:0!important}
.manga-page{padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;border-radius:0!important}
.manga-page img{border-radius:0!important;width:100%!important}
.page-num{display:none!important}

.player-tips{
    margin-top:14px;
    background:#f8fafc;
    border:1px solid var(--l);
    border-radius:14px;
    padding:12px;
    line-height:1.8;
}
.player-tips input{
    width:min(680px,100%);
    margin:6px 8px 6px 0;
}

.flash.wait{
    background:#fef3c7!important;
    color:#92400e!important;
}

@media(max-width:900px){
    .manga-reader-shell{grid-template-columns:1fr!important}
    .manga-chapter-list{position:static!important;max-height:280px!important}
    .manga-continuous-pages{max-width:100%!important}
}

.queue-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.queue-control h3 {
    margin-top: 0;
}

.queue-control p {
    color: #71717a;
    line-height: 1.7;
}

.queue-buttons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.primary-btn {
    background: linear-gradient(135deg, var(--y), #ffc107) !important;
    color: #111 !important;
    border: 0 !important;
}

.danger-btn {
    background: #fee2e2 !important;
    color: #991b1b !important;
    border: 0 !important;
}

.queue-log {
    background: #0f172a;
    color: #e5e7eb;
    padding: 14px;
    border-radius: 14px;
    overflow: auto;
    max-height: 360px;
    white-space: pre-wrap;
}

.badge.wait {
    background: #fef3c7;
    color: #92400e;
}

@media(max-width:900px){
    .queue-control {
        display:block;
    }
    .queue-buttons {
        justify-content:flex-start;
    }
}

.queue-buttons .primary-btn {
    min-width: 120px;
}

.queue-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.queue-control h3 {
    margin-top: 0;
}

.queue-control p {
    color: #71717a;
    line-height: 1.7;
}

.queue-buttons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.primary-btn {
    background: linear-gradient(135deg, var(--y), #ffc107) !important;
    color: #111 !important;
    border: 0 !important;
}

.danger-btn {
    background: #fee2e2 !important;
    color: #991b1b !important;
    border: 0 !important;
}

.queue-log {
    background: #0f172a;
    color: #e5e7eb;
    padding: 14px;
    border-radius: 14px;
    overflow: auto;
    max-height: 360px;
    white-space: pre-wrap;
}

.badge.wait {
    background: #fef3c7;
    color: #92400e;
}

@media(max-width:900px){
    .queue-control {
        display:block;
    }
    .queue-buttons {
        justify-content:flex-start;
    }
}

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

.provider-card {
    background: #fff;
    border: 1px solid var(--l);
    border-radius: 20px;
    box-shadow: var(--shadow);
    padding: 20px;
}

.provider-card h3 {
    margin-top: 0;
}

.provider-card p {
    color: #71717a;
    line-height: 1.7;
}

.provider-card input {
    width: 100%;
    border: 1px solid var(--l);
    border-radius: 12px;
    padding: 11px 12px;
    margin: 10px 0;
    font-weight: 800;
}

.provider-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.note code {
    background: #f4f4f5;
    border-radius: 8px;
    padding: 3px 7px;
    color: #111;
}

@media(max-width:1100px){
    .provider-grid {
        grid-template-columns: 1fr;
    }
}

.ops {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.ops .link {
    background: #f8fafc;
    border: 1px solid var(--l);
    border-radius: 8px;
    padding: 6px 9px;
    font-weight: 900;
}

td small {
    color: #71717a;
    display: block;
    margin-top: 4px;
}

.dash-hero {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: stretch;
    background: linear-gradient(135deg, #111318, #2b2f3a);
    color: #fff;
    border-radius: 24px;
    padding: 24px;
    margin-bottom: 18px;
    box-shadow: var(--shadow);
}

.dash-hero h1 {
    margin: 0 0 8px;
    font-size: 32px;
}

.dash-hero p {
    margin: 0;
    color: #d6d8de;
    line-height: 1.7;
}

.dash-api-mini {
    min-width: 390px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 18px;
    padding: 16px;
}

.dash-api-mini b {
    display: block;
    margin-bottom: 8px;
}

.dash-api-mini code {
    display: block;
    background: #fff;
    color: #111;
    border-radius: 10px;
    padding: 8px 10px;
    margin-top: 7px;
    font-size: 12px;
    word-break: break-all;
}

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

.dash-module-card {
    background: #fff;
    border: 1px solid var(--l);
    border-radius: 22px;
    box-shadow: var(--shadow);
    padding: 18px;
}

.dash-module-head {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-bottom: 16px;
}

.dash-module-head > span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: #f8fafc;
    font-size: 26px;
}

.dash-module-head h2 {
    margin: 0 0 5px;
}

.dash-module-head p {
    margin: 0;
    color: #71717a;
}

.dash-mini-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-bottom: 14px;
}

.dash-mini-stats div,
.dash-queue div {
    background: #f8fafc;
    border: 1px solid var(--l);
    border-radius: 14px;
    padding: 12px;
    min-width: 0;
}

.dash-mini-stats b,
.dash-queue b {
    display: block;
    font-size: 20px;
    line-height: 1.2;
}

.dash-mini-stats span,
.dash-queue span {
    color: #71717a;
    font-size: 12px;
}

.dash-actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.dash-actions a,
.dash-shortcuts a {
    background: #111318;
    color: #fff;
    border-radius: 12px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    padding: 0 12px;
}

.dash-actions.inline {
    display: flex;
    margin-top: 14px;
}

.dash-actions.inline a {
    min-width: 160px;
}

.dash-row {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 16px;
    margin-bottom: 16px;
}

.dash-panel {
    background: #fff;
    border: 1px solid var(--l);
    border-radius: 22px;
    box-shadow: var(--shadow);
    padding: 18px;
}

.dash-panel.wide {
    grid-column: 1 / -1;
}

.dash-panel h2 {
    margin: 0 0 14px;
}

.dash-queue {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
}

.dash-shortcuts {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.dash-shortcuts a {
    background: #f8fafc;
    color: #111318;
    border: 1px solid var(--l);
}

.dash-log-table {
    width: 100%;
    border-collapse: collapse;
}

.dash-log-table th,
.dash-log-table td {
    padding: 12px;
    border-bottom: 1px solid var(--l);
    text-align: left;
}

.dash-log-table th {
    color: #71717a;
    font-size: 13px;
}

@media(max-width:1300px) {
    .dash-grid-3,
    .dash-row {
        grid-template-columns: 1fr;
    }

    .dash-api-mini {
        min-width: 0;
    }
}

@media(max-width:800px) {
    .dash-hero {
        display: block;
    }

    .dash-api-mini {
        margin-top: 14px;
    }

    .dash-mini-stats,
    .dash-queue,
    .dash-actions,
    .dash-shortcuts {
        grid-template-columns: repeat(2, 1fr);
    }
}

.page-pro-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    background: linear-gradient(135deg, #111318, #2b2f3a);
    color: #fff;
    border-radius: 24px;
    padding: 22px;
    margin-bottom: 16px;
    box-shadow: var(--shadow);
}

.page-pro-head h1 {
    margin: 0 0 6px;
}

.page-pro-head p {
    margin: 0;
    color: #d6d8de;
}

.page-pro-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.dark-btn {
    background: #111318 !important;
    color: #fff !important;
}

.pro-filter {
    grid-template-columns: 2fr repeat(4, minmax(120px, 1fr)) auto;
}

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

.library-card {
    background: #fff;
    border: 1px solid var(--l);
    border-radius: 18px;
    box-shadow: var(--shadow);
    overflow: hidden;
}

.library-poster {
    aspect-ratio: 3/4;
    display: grid;
    place-items: center;
    background: #eef2f7;
    color: #94a3b8;
    font-weight: 900;
    overflow: hidden;
}

.library-poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.library-poster img + span {
    display: none;
}

.library-body {
    padding: 12px;
}

.library-body b {
    display: block;
    font-size: 14px;
    height: 38px;
    overflow: hidden;
}

.library-body p {
    color: #71717a;
    font-size: 12px;
    line-height: 1.5;
}

.library-tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.library-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
}

.library-actions a {
    background: #111318;
    color: #fff;
    border-radius: 10px;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 12px;
}

.settings-grid-pro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.settings-card-pro {
    padding: 20px;
}

.settings-card-pro.wide {
    grid-column: 1 / -1;
}

.settings-line {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid var(--l);
}

.settings-line span {
    color: #71717a;
}

.ok-text {
    color: #166534;
}

.bad-text {
    color: #991b1b;
}

.provider-pro-hero {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: stretch;
    background: linear-gradient(135deg, #111318, #2b2f3a);
    color: #fff;
    border-radius: 26px;
    padding: 24px;
    margin-bottom: 18px;
    box-shadow: var(--shadow);
}

.provider-pro-hero h1 {
    margin: 0 0 8px;
    font-size: 30px;
}

.provider-pro-hero p {
    margin: 0;
    color: #d6d8de;
}

.provider-pro-note {
    min-width: 320px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 18px;
    padding: 16px;
}

.provider-pro-note b,
.provider-pro-note span {
    display: block;
}

.provider-pro-note span {
    margin-top: 8px;
    color: #d6d8de;
}

.provider-pro-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 16px;
}

.provider-pro-card {
    background: #fff;
    border: 1px solid var(--l);
    border-radius: 24px;
    box-shadow: var(--shadow);
    padding: 20px;
}

.provider-pro-head {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-bottom: 16px;
}

.provider-icon {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: #f8fafc;
    font-size: 28px;
}

.provider-pro-head h2 {
    margin: 0 0 5px;
}

.provider-pro-head p {
    margin: 0;
    color: #71717a;
    line-height: 1.5;
}

.provider-stat-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
    margin-bottom: 14px;
}

.provider-stat-row div {
    background: #f8fafc;
    border: 1px solid var(--l);
    border-radius: 14px;
    padding: 12px;
}

.provider-stat-row b {
    display: block;
    font-size: 22px;
}

.provider-stat-row span {
    color: #71717a;
    font-size: 12px;
}

.provider-url-label {
    display: block;
    font-weight: 900;
    margin-bottom: 8px;
}

.provider-url-box {
    display: grid;
    grid-template-columns: 1fr 80px;
    gap: 8px;
    margin-bottom: 12px;
}

.provider-url-box input {
    border: 1px solid var(--l);
    border-radius: 12px;
    padding: 11px 12px;
    font-weight: 800;
    min-width: 0;
}

.provider-url-box button {
    border: 0;
    border-radius: 12px;
    background: var(--y);
    font-weight: 900;
}

.provider-test-links {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.provider-test-links a {
    background: #111318;
    color: #fff;
    border-radius: 10px;
    padding: 9px 11px;
    font-weight: 900;
    font-size: 13px;
}

.provider-doc {
    padding: 20px;
}

.provider-doc-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.provider-doc-grid div {
    background: #f8fafc;
    border: 1px solid var(--l);
    border-radius: 14px;
    padding: 14px;
}

.provider-doc-grid b,
.provider-doc-grid code {
    display: block;
}

.provider-doc-grid code {
    margin-top: 8px;
    background: #fff;
    border-radius: 8px;
    padding: 7px 8px;
}

@media(max-width:1200px){
    .provider-pro-grid,
    .settings-grid-pro {
        grid-template-columns: 1fr;
    }

    .provider-pro-hero,
    .page-pro-head {
        display: block;
    }

    .provider-pro-note,
    .page-pro-actions {
        margin-top: 14px;
    }

    .provider-doc-grid,
    .pro-filter {
        grid-template-columns: 1fr;
    }
}
