:root{
  --bg:#f5f5f5; --card:#ffffff; --ink:#111111; --muted:#666666; --line:#e2e2e2;
  --brand:#111111; --brand-ink:#ffffff; --brand-soft:#efefef;
  --good:#111111; --good-soft:#f0f0f0; --warn:#111111; --warn-soft:#fafafa;
  --accent:#ff6a00; --accent-soft:#fff1e6; --star:#111111; --hub:#111111; --shadow:0 1px 2px rgba(0,0,0,.04),0 6px 20px rgba(0,0,0,.04);
}
*{box-sizing:border-box}
button,input,summary{font-family:inherit}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 "Poppins",sans-serif}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}

/* top bar */
.top{background:var(--card);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;height:60px}
.logo{font-weight:800;font-size:19px;color:var(--ink);letter-spacing:-.3px}
.logo b{color:var(--accent)}
.search{flex:1;max-width:420px;margin-left:12px}
.search input{width:100%;padding:9px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font-size:14px}
.top nav{margin-left:auto;display:flex;gap:18px;font-size:14px}
.top nav a{color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;font-weight:600;font-size:14.5px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;text-decoration:none}
.btn:hover{text-decoration:none;border-color:var(--accent);color:var(--accent)}
.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn.primary:hover{color:#fff}
.btn.primary:hover{filter:brightness(1.08)}

.crumbs{font-size:13px;color:var(--muted);padding:18px 0 8px}
.crumbs a{color:var(--muted)}
.crumbs span{margin:0 6px}

/* hero */
.hero{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow);display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}
.tile{width:84px;height:84px;border-radius:20px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;flex:none}
.tile img{display:block}
.hero-main{flex:1;min-width:260px}
.hero h1{margin:0;font-size:32px;line-height:1.2;letter-spacing:-.5px;color:var(--accent)}
.tag{margin:6px 0 12px;color:var(--muted);font-size:17px}
.meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px}
.stars{color:var(--star);letter-spacing:2px;font-size:16px}
.chip{padding:3px 11px;border-radius:99px;background:var(--brand-soft);color:var(--brand);font-size:12.5px;font-weight:600}
.chip.g{background:#111;color:#fff}
.hero-cta{display:flex;flex-direction:column;gap:10px;min-width:210px}
.upd{font-size:12.5px;color:var(--muted);text-align:center}

/* quick facts strip */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0 0}
.fact{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.fact small{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.6px}
.fact strong{font-size:17px}

/* layout */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;margin-top:20px;align-items:start}
.sub{position:sticky;top:0;z-index:20;background:var(--bg);padding:10px 0;margin-top:14px}
.sub .in{display:flex;gap:6px;overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:5px;scrollbar-width:none}
.sub a{white-space:nowrap;padding:7px 13px;border-radius:8px;color:var(--muted);font-size:14px;font-weight:600}
.sub a:hover{text-decoration:none;background:var(--bg)}
.sub a.on{background:var(--accent-soft);color:var(--accent)}

section.box{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px;margin-bottom:18px;box-shadow:var(--shadow)}
section.box h2{margin:0 0 14px;font-size:22px;letter-spacing:-.3px}
section.box h3{margin:18px 0 8px;font-size:16px}
p{margin:0 0 12px}
.muted{color:var(--muted)}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.plan{border:1px solid var(--line);border-radius:14px;padding:18px;position:relative;background:var(--bg)}
.plan.pop{border:2px solid var(--accent);background:var(--card)}
.plan .pop-t{position:absolute;top:-11px;left:16px;background:var(--accent);color:#fff;font-size:11.5px;font-weight:700;padding:2px 10px;border-radius:99px}
.plan h4{margin:0;font-size:15px}
.price{font-size:28px;font-weight:800;margin:6px 0 2px;letter-spacing:-.5px}
.price small{font-size:13px;font-weight:500;color:var(--muted)}
.plan ul{padding-left:18px;margin:10px 0 0;font-size:13.5px;color:var(--muted)}
.note{font-size:13px;color:var(--muted);margin-top:12px}
.callout{background:var(--good-soft);border-radius:12px;padding:16px 18px;color:var(--ink)}
.callout b{color:var(--ink)}

/* features */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.feat{border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.feat b{display:block;margin-bottom:2px}
.feat span{font-size:14px;color:var(--muted)}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{padding:6px 13px;border:1px solid var(--line);border-radius:99px;font-size:13.5px;background:var(--bg)}

/* best for */
.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tri>div{border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.tri small{color:var(--muted);text-transform:uppercase;font-size:11.5px;letter-spacing:.6px}

/* pros cons */
.pc{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pc>div{border-radius:14px;padding:18px}
.pc .p{background:var(--good-soft)}
.pc .c{background:var(--card);border:1px solid var(--line)}
.pc h3{margin-top:0}
.pc ul{margin:0;padding-left:20px}
.pc li{margin-bottom:7px;font-size:14.5px}

/* table */
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px;min-width:620px}
th,td{padding:12px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
tr.me td{background:var(--brand-soft);font-weight:600}

/* alternatives */
.alts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.alt{border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:6px;background:var(--bg)}
.alt .row{display:flex;gap:10px;align-items:center}
.mini{width:38px;height:38px;border-radius:10px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;flex:none}
.mini img{display:block}
.alt p{font-size:13.5px;color:var(--muted);margin:0}
.alt a.cmp{font-size:13.5px;font-weight:600;margin-top:auto}

/* reviews */
.rev-top{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.big{font-size:44px;font-weight:800;line-height:1}
.bars{flex:1;min-width:220px}
.bar{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.bar i{flex:1;height:8px;background:var(--line);border-radius:9px;overflow:hidden;display:block}
.bar i em{display:block;height:100%;background:var(--star)}
.review{border-top:1px solid var(--line);padding:16px 0}
.rh{display:flex;gap:10px;align-items:center;margin-bottom:6px;flex-wrap:wrap}
.av{width:36px;height:36px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-weight:700}
.ver{font-size:12px;color:var(--good);font-weight:600}
.write{background:var(--accent-soft);border-radius:14px;padding:18px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between;margin-top:8px}

/* FAQ */
details{border:1px solid var(--line);border-radius:12px;padding:0 16px;margin-bottom:10px;background:var(--bg)}
summary{cursor:pointer;font-weight:600;padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::after{content:"+";color:var(--accent);font-size:20px;line-height:1}
details[open] summary::after{content:"–"}
details p{color:var(--muted);font-size:14.5px}

/* sidebar */
aside .card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow)}
aside{position:sticky;top:76px}
aside h3{margin:0 0 12px;font-size:15px}
.kv{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:8px 0;border-bottom:1px solid var(--line)}
.kv:last-of-type{border:0}
.kv span:first-child{color:var(--muted)}
.kv span:last-child{text-align:right;font-weight:600}
.side-list a{display:flex;gap:10px;align-items:center;padding:8px 0;color:var(--ink);font-size:14px}

.sample{background:#111;color:#fff;font-size:13px;padding:8px 14px;text-align:center}
footer{margin:40px 0 30px;text-align:center;color:var(--muted);font-size:13px}

/* modal */
.modal{position:fixed;inset:0;background:rgba(10,10,25,.55);display:none;place-items:center;z-index:50;padding:16px}
.modal.open{display:grid}
.mbox{background:var(--card);border-radius:18px;padding:26px;max-width:400px;width:100%}
.mbox h3{margin:0 0 6px;font-size:20px}
.mbox input{width:100%;padding:11px 14px;margin:8px 0;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font-size:14.5px}

/* ---- additions ---- */
.plan h3{margin:0;font-size:15px}
.byline{font-size:13px;color:var(--muted);margin:12px 2px 0}
.quick{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;padding:14px 18px;margin-top:14px;font-size:15px}
.quick b{color:var(--accent)}
.empty{border:1px dashed var(--line);border-radius:14px;padding:22px;text-align:center;background:var(--bg)}
.empty p{margin:8px auto 14px;max-width:520px}
.cardgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.pcard{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--bg);color:var(--ink)}
.pcard:hover{text-decoration:none;border-color:var(--accent)}
.pcard p{margin:4px 0 8px;font-size:13.5px;color:var(--muted)}
.prose p{margin:0 0 12px}
.prose ul{padding-left:20px;margin:0 0 12px}
.layout.one{grid-template-columns:minmax(0,1fr)}
.vs{display:flex;gap:10px;align-items:center;text-transform:none;letter-spacing:0;font-size:15px;color:var(--ink)}
.vstable th[scope=row]{width:20%;color:var(--muted);text-transform:none;font-size:13px;letter-spacing:0}
.vstable td{width:40%}
.rank{position:absolute;right:22px;top:18px;font-size:30px;font-weight:800;color:var(--line)}
section.box{position:relative}
.foot .fl{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-bottom:10px}
.foot .fl a{color:var(--muted)}
.lform{display:grid;gap:10px;max-width:420px;margin-top:12px}
.lform input{padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font:inherit}
.lform .btn[disabled]{opacity:.5;cursor:not-allowed}
.note a{text-decoration:underline}
.crumbs a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.plans + .prose{margin-top:18px}
.price small{margin-left:3px}

/* ---- mobile ---- */
img{max-width:100%}
@media (max-width:920px){
  .layout{grid-template-columns:minmax(0,1fr)}
  aside{position:static}
  .facts{grid-template-columns:1fr 1fr}
  .top .wrap{flex-wrap:wrap;height:auto;padding-top:10px;padding-bottom:10px;gap:8px 12px}
  .top .logo{order:1}
  .top .btn{order:2;margin-left:auto;padding:8px 14px}
  .top nav{order:3;width:100%;margin-left:0;overflow-x:auto;gap:8px;padding-bottom:2px;scrollbar-width:none}
  .top nav a{white-space:nowrap;padding:8px 14px;border:1px solid var(--line);border-radius:99px;background:var(--bg);font-size:13.5px}
  .top .search{order:4;width:100%;max-width:none;margin-left:0;flex:none}
  .search input{font-size:16px;padding:11px 14px}
  .tw{-webkit-overflow-scrolling:touch}
  .vstable{min-width:480px}
  table{min-width:520px}
}
@media (max-width:620px){
  body{font-size:15px}
  .wrap{padding:0 14px}
  .sample{font-size:11px;padding:5px 12px;line-height:1.35}
  .grid2,.tri,.pc{grid-template-columns:1fr}
  .hero{padding:18px;gap:14px}
  .tile{width:64px;height:64px;border-radius:16px}
  .tile img{width:40px;height:40px}
  .hero-main{min-width:0;width:100%}
  .hero-cta{width:100%;min-width:0}
  .hero h1{font-size:26px}
  .tag{font-size:15.5px}
  .btn{padding:13px 18px;min-height:46px;justify-content:center}
  .facts{gap:8px}
  .fact{padding:12px}
  .fact strong{font-size:15px}
  section.box{padding:18px;border-radius:14px}
  section.box h2{font-size:20px}
  .plans{grid-template-columns:1fr}
  .rank{font-size:22px;right:16px;top:12px}
  .review .rh{align-items:flex-start}
  .write{flex-direction:column;align-items:stretch}
  .quick{font-size:14.5px;padding:12px 14px}
  .sub a{padding:10px 14px}
  summary{padding:14px 0;min-height:48px;align-items:center}
  .foot .fl{gap:10px 16px}
  .cardgrid{grid-template-columns:1fr}
  .alts{grid-template-columns:1fr}
  .vs{font-size:14px}
  .vstable th[scope=row]{width:26%}
  .hero[style*="padding:44px"]{padding:28px 16px !important}
  .hero h1[style*="font-size:36px"]{font-size:26px !important}
}

/* lighter price text */
.price{font-size:26px;font-weight:600;letter-spacing:-.3px}
.price small{font-weight:400}
.plan h3{font-weight:600}

/* lighter bold text everywhere */
b,strong{font-weight:600}
.tri b,.feat b,.alt b,.pcard b{font-weight:500}
.fact strong,.kv span:last-child{font-weight:500}
th{font-weight:500}


/* sidebar follows the page, and stays steady when a FAQ opens */
@media (min-width:921px){
  .layout:not(.one) aside{position:sticky;top:76px;max-height:calc(100vh - 92px);overflow-y:auto;scrollbar-width:thin}
  .layout:not(.one) > div:first-child{padding-bottom:260px}
}

/* currency switch */
.curbar{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:14px;color:var(--muted);flex-wrap:wrap}
.cbtn{font:inherit;font-size:13.5px;font-weight:500;padding:6px 14px;border:1px solid var(--line);border-radius:99px;background:var(--card);color:var(--ink);cursor:pointer}
button.cbtn:hover{border-color:var(--accent)}
.cbtn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.curpane[hidden]{display:none}
.curnote{background:var(--bg);border-radius:10px;padding:10px 14px;margin-top:14px}
.tablenote{display:none}
html.cur-alt .tablenote{display:block}

.curmiss{background:var(--accent-soft);border-radius:10px;padding:10px 14px}
.curmiss[hidden]{display:none}

.curbar label{font-size:14px;color:var(--muted)}
.cursel{font:inherit;font-size:14px;padding:9px 34px 9px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);cursor:pointer;max-width:100%}
.cursel:hover,.cursel:focus{border-color:var(--accent);outline:none}

/* lighter headings */
h1{font-weight:600}
section.box h2{font-weight:600}
section.box h3,.pc h3,.plan h3,.card h3,aside h3{font-weight:500}

/* lighter still */
h1,h2,h3,h4,section.box h2,section.box h3,.pc h3,.plan h3,.card h3,aside h3{font-weight:500}
b,strong{font-weight:500}
.price{font-weight:500}
.btn,.sub a,summary,.chip,.cbtn{font-weight:500}
.logo{font-weight:700}

/* sub-headings bold so they stand apart from body text */
section.box h3,.pc h3,.plan h3,.card h3,aside h3{font-weight:600}

/* ---- listing form ---- */
.lhead{margin:16px 0 12px}
.pwrap{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.pbar{flex:1;height:8px;background:var(--line);border-radius:9px;overflow:hidden}
.pbar i{display:block;height:100%;width:0;background:var(--accent);transition:width .25s}
.ptext{font-size:13px;color:var(--muted);white-space:nowrap}
.stepnav{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.stepnav button{font:inherit;font-size:13px;white-space:nowrap;padding:7px 12px;border:1px solid var(--line);border-radius:99px;background:var(--card);color:var(--muted);cursor:pointer}
.stepnav button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.stepnav button.done{color:var(--ink)}
.lstep[hidden]{display:none}
.fld{display:block;margin:0 0 18px}
.fld.small{margin:0}
.fl{display:block;font-size:14px;font-weight:500;margin-bottom:6px}
.req{color:var(--accent);font-weight:500}
.fld input[type=text],.fld input[type=url],.fld input[type=email],.fld input[type=number],.fld select,.fld textarea,.row-item input,.row-item select,.row-item textarea{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-size:15px}
.fld input:focus,.fld select:focus,.fld textarea:focus,.row-item input:focus,.row-item select:focus,.row-item textarea:focus,.chips input:focus{outline:none;border-color:var(--accent)}
.hint{display:block;color:var(--muted);font-size:12.5px;margin-top:5px}
p.hint{margin:0 0 10px}
.shown{display:block;font-size:12px;color:var(--accent);margin-top:5px}
.checks{display:flex;flex-wrap:wrap;gap:8px 14px}
.chk{display:inline-flex;gap:8px;align-items:center;font-size:14.5px;cursor:pointer}
.chk.big{display:flex;align-items:flex-start;margin:12px 0}
.chk input{width:18px;height:18px;accent-color:var(--accent);margin-top:2px}
.row-item{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:10px;background:var(--bg)}
.row-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.rm{font:inherit;font-size:12.5px;color:var(--muted);background:none;border:0;cursor:pointer;margin-top:8px;padding:4px 0}
.rm:hover{color:var(--accent)}
.chips{border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--bg)}
.chip-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.chip-item{display:inline-flex;gap:6px;align-items:center;background:var(--accent-soft);color:var(--accent);border-radius:99px;padding:4px 6px 4px 12px;font-size:13.5px}
.chip-item button{border:0;background:none;color:inherit;cursor:pointer;font-size:12px}
.chips input{border:0!important;background:transparent!important;padding:6px 8px!important}
.chip-suggest{display:flex;flex-wrap:wrap;gap:6px;padding:4px 2px}
.sug{font:inherit;font-size:12.5px;border:1px dashed var(--line);border-radius:99px;background:var(--card);color:var(--muted);padding:4px 10px;cursor:pointer}
.sug:hover{border-color:var(--accent);color:var(--accent)}
.lnav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0 30px;position:sticky;bottom:0;background:var(--bg);padding:12px 0;z-index:5}
.lnav .savestate{margin-left:auto}
.lnav [hidden]{display:none}
.savestate{font-size:13px;color:var(--muted)}
.savestate.bad{color:#c0392b}
.statusbox{border-radius:12px;padding:14px 18px;margin-bottom:14px;background:var(--accent-soft);border:1px solid var(--accent)}
.statusbox[hidden]{display:none}
.statusbox.s-approved{background:#eaf7ee;border-color:#2e9e57}
.statusbox.s-rejected{background:#fdecec;border-color:#c0392b}
.privlink{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:12px;font-size:14px}
.privlink[hidden]{display:none}
.privlink input{width:100%;margin:8px 0;padding:9px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:13px;background:var(--bg)}
.misslist{margin:0 0 14px;padding-left:20px}
.linkbtn{font:inherit;font-size:14.5px;background:none;border:0;color:var(--accent);cursor:pointer;padding:3px 0;text-align:left}
.linkbtn:hover{text-decoration:underline}
.okline{color:#2e9e57;font-weight:500}
.sumcard .kv span:last-child{text-align:right;max-width:65%}
.asec{margin-bottom:14px}
.asec .kv span:last-child{text-align:right;max-width:70%;word-break:break-word}
.anote{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--bg);margin:10px 0}
.abar{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:620px){
  .lnav{gap:8px}
  .lnav .savestate{order:5;width:100%;margin:0}
  .fld input,.fld select,.fld textarea{font-size:16px}
}

/* ---- accounts ---- */
.wrap.narrow{max-width:480px;margin-top:30px}
.authbox{padding:28px}
.authbox .fld input{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-size:16px}
.authbox .fld input:focus{outline:none;border-color:var(--accent)}
.authmsg{border-radius:10px;padding:10px 14px;margin:0 0 14px;background:var(--accent-soft);font-size:14px}
.authmsg.bad{background:#fdecec;color:#a02b20}
.authmsg[hidden]{display:none}
.tabpane[hidden]{display:none}
#account[hidden]{display:none}
#tabs button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.pitem{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px;background:var(--bg)}
.pact{display:flex;gap:8px}
.pmeta{font-size:13px;margin-top:4px}
.pill.st-draft{background:var(--brand-soft)}
.pill.st-submitted{background:var(--accent-soft);border-color:var(--accent)}
.pill.st-approved{background:#eaf7ee;border-color:#2e9e57}
.pill.st-changes_requested{background:#fff4dc;border-color:#d99a00}
.pill.st-rejected{background:#fdecec;border-color:#c0392b}
.pill[class*="st-"]{padding:2px 10px;font-size:12.5px}
.tabpane h3{margin:22px 0 10px}
.lform,.lnav{position:static}

[hidden]{display:none!important}

/* ============ account area ============ */
.acc{display:grid;grid-template-columns:264px minmax(0,1fr);gap:26px;margin:24px 0 40px;align-items:start}
.accside{position:sticky;top:16px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px}
.usercard{display:flex;gap:12px;align-items:center;min-width:0}
.avatar{width:44px;height:44px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:600;font-size:18px;flex:none}
.uinfo{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.uinfo b{font-weight:500;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uinfo span{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.meter{background:var(--bg);border-radius:12px;padding:11px 13px}
.mlabel{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-bottom:7px}
.mlabel b{font-weight:500;color:var(--ink)}
.mbar{height:6px;border-radius:9px;background:var(--line);overflow:hidden}
.mbar i{display:block;height:100%;width:0;background:var(--accent);border-radius:9px;transition:width .3s}
.accnav{display:flex;flex-direction:column;gap:4px}
.accnav button,.sidefoot a,.sidefoot button{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:0;border-radius:11px;background:none;color:var(--muted);font:inherit;font-size:14.5px;cursor:pointer;text-align:left;text-decoration:none;transition:background .15s,color .15s}
.accnav button:hover,.sidefoot a:hover,.sidefoot button:hover{background:var(--bg);color:var(--ink);text-decoration:none}
.accnav button.on{background:var(--accent-soft);color:var(--accent);font-weight:500}
.accnav svg,.sidefoot svg{flex:none}
.accnav .badge{margin-left:auto;font-style:normal;font-size:12px;min-width:22px;text-align:center;padding:1px 7px;border-radius:99px;background:var(--bg);color:var(--muted)}
.accnav button.on .badge{background:#fff;color:var(--accent)}
.sidefoot{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding-top:12px}

.accmain{min-width:0}
.phead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:18px}
.phead h1{margin:0;font-size:24px;color:var(--ink)}
.phead p{margin:4px 0 0;font-size:14px}
.btn.sm{padding:8px 14px;font-size:13.5px;border-radius:9px;gap:6px}
.btn.ghost{border-color:transparent;color:var(--muted);background:transparent}
.btn.ghost:hover{color:#c0392b;border-color:transparent}
.btn[disabled]{opacity:.5;cursor:not-allowed}

.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}
.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.pf{display:flex;flex-direction:column;gap:6px;min-width:0}
.pf.wide{grid-column:1/-1}
.pl{font-size:13px;font-weight:500;color:var(--ink)}
.rq{color:var(--accent);font-style:normal;margin-left:3px}
.pf input,.pf select{height:40px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);font:inherit;font-size:14.5px;width:100%;transition:border-color .15s,background .15s}
.pf input:hover,.pf select:hover{border-color:#cfcfcf}
.pf input:focus,.pf select:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px var(--accent-soft)}
.pf input::placeholder{color:#a5a5a5}
.pf.bad input,.pf.bad select{border-color:#c0392b;background:#fff}
.err{font-size:12px;color:#c0392b}
.fh{font-size:12px;color:var(--muted)}
.note-inline{background:var(--accent-soft);border-radius:10px;padding:10px 14px;font-size:13.5px;margin-bottom:16px}
.savebar{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:14px;position:sticky;bottom:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;box-shadow:0 6px 24px rgba(0,0,0,.08)}
.savebar .savestate{margin-right:auto}
.savestate.dirty{color:var(--accent)}

.banner{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;background:var(--accent-soft);border:1px solid #ffd2b0;border-radius:14px;padding:14px 16px;margin-bottom:14px}
.banner div{display:flex;flex-direction:column;font-size:14px}
.banner span{color:var(--muted);font-size:13px}
.prow{display:grid;grid-template-columns:auto minmax(0,1fr) 130px auto;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 16px;margin-bottom:10px;transition:border-color .15s}
.prow:hover{border-color:#d4d4d4}
.pinit{width:40px;height:40px;border-radius:11px;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;font-weight:600;color:var(--ink)}
.pmid b{font-weight:500;font-size:15px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pmeta2{display:flex;gap:10px;align-items:center;font-size:12.5px;margin-top:3px;flex-wrap:wrap}
.pmeta2 .pill{padding:2px 10px;font-size:12px;border:1px solid var(--line)}
.pprog{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.pprog .mbar{flex:1}
.pact{display:flex;gap:6px}
.empty2{border:1px dashed #d6d6d6;border-radius:16px;padding:38px 20px;text-align:center;background:var(--card);display:flex;flex-direction:column;gap:6px;align-items:center}
.empty2 b{font-weight:500;font-size:16px}
.empty2 span{color:var(--muted);font-size:14px}

.toast{position:fixed;right:20px;bottom:20px;background:#111;color:#fff;padding:11px 18px;border-radius:11px;font-size:14px;z-index:60;box-shadow:0 8px 30px rgba(0,0,0,.25)}
.toast.show{animation:tin .25s ease}
@keyframes tin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media (max-width:860px){
  .acc{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:14px}
  .accside{position:static;padding:14px;gap:12px}
  .accnav{flex-direction:row;overflow-x:auto;scrollbar-width:none;gap:6px}
  .accnav button{width:auto;white-space:nowrap;padding:9px 13px;border:1px solid var(--line)}
  .accnav button.on{border-color:var(--accent)}
  .sidefoot{flex-direction:row;padding-top:8px}
  .sidefoot a,.sidefoot button{width:auto;font-size:13px;padding:8px 10px}
  .meter{padding:9px 12px}
}
@media (max-width:620px){
  .pgrid{grid-template-columns:minmax(0,1fr)}
  .prow{grid-template-columns:auto minmax(0,1fr);row-gap:10px}
  .pprog{grid-column:1/-1;order:3}
  .pact{grid-column:1/-1;order:4}
  .pact .btn{flex:1;justify-content:center}
  .phead{flex-direction:column}
  .phead .btn{width:100%;justify-content:center}
  .panel{padding:16px}
  .savebar{flex-wrap:wrap}
  .savebar .savestate{width:100%}
  .pf input,.pf select{font-size:16px}
}

/* account: tighter on phones */
@media (max-width:860px){
  .sidefoot{border-top:0;padding-top:0}
  .sidefoot a{display:none}
  .sidefoot button{padding:6px 10px;font-size:13px;width:auto;margin-left:auto}
  .accside{gap:10px}
  .meter{display:flex;align-items:center;gap:10px;padding:8px 12px}
  .meter .mlabel{margin:0;white-space:nowrap;gap:8px}
  .meter .mbar{flex:1}
}
@media (max-width:620px){
  .savebar{position:static}
  .phead h1{font-size:21px}
}

/* ============ sign in / sign up (split screen) ============ */
body.authpage{background:#171717;margin:0}
.authshell{min-height:100vh;display:grid;place-items:center;padding:22px}
.authcard{width:min(1120px,100%);min-height:min(700px,calc(100vh - 44px));display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:30px;padding:8px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.authleft{position:relative;overflow:hidden;border-radius:23px;color:#fff;padding:34px;display:flex;flex-direction:column;justify-content:space-between;
  background:radial-gradient(60% 45% at 22% 22%,rgba(255,224,190,.6),transparent 62%),radial-gradient(70% 55% at 92% 78%,rgba(110,20,0,.6),transparent 66%),radial-gradient(45% 40% at 70% 20%,rgba(255,170,90,.55),transparent 70%),linear-gradient(160deg,#ff8a3d 0%,#ff6a00 46%,#d9480f 100%)}
.alogo{color:#fff;font-size:22px;font-weight:500;letter-spacing:-.3px;text-decoration:none;position:relative;z-index:2}
.alogo b{font-weight:700}
.alogo:hover{text-decoration:none}
.aglass{position:absolute;z-index:1;display:flex;gap:8px;align-items:center;font-size:13px;padding:9px 14px;border-radius:99px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.aglass span{width:18px;height:18px;border-radius:50%;background:#fff;color:#ff6a00;display:grid;place-items:center;font-size:11px;font-weight:700}
.aglass.g1{top:18%;right:8%}
.aglass.g2{top:26%;right:16%}
.abottom{position:relative;z-index:2}
.apill{display:inline-block;padding:8px 16px;border-radius:99px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.3);font-size:13.5px;margin-bottom:16px}
.authleft h2{margin:0 0 10px;font-size:40px;line-height:1.1;font-weight:500;letter-spacing:-1px;color:#fff}
.authleft p{margin:0 0 26px;font-size:16px;color:rgba(255,255,255,.88);max-width:420px}
.asteps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.astep{min-height:118px;border-radius:16px;padding:14px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:14.5px;line-height:1.3}
.astep i{font-style:normal;width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.7);display:grid;place-items:center;font-size:13px}
.astep.on{background:#fff;color:#111;border-color:#fff}
.astep.on i{background:#ff6a00;border-color:#ff6a00;color:#fff}

.authright{position:relative;display:flex;align-items:center;justify-content:center;padding:44px 40px}
.aback{position:absolute;top:22px;right:26px;font-size:13.5px;color:var(--muted)}
.aback:hover{color:var(--accent)}
.aform{width:100%;max-width:380px}
.aform h1{margin:0 0 26px;text-align:center;font-size:30px;font-weight:500;letter-spacing:-.6px;color:#111}
.af{display:block;margin-bottom:16px}
.al{display:block;font-size:13.5px;font-weight:500;margin-bottom:7px;color:#111}
.af input{width:100%;height:46px;padding:0 16px;border:1px solid transparent;border-radius:12px;background:#f5f5f5;color:#111;font:inherit;font-size:15px;transition:border-color .15s,background .15s,box-shadow .15s}
.af input::placeholder{color:#a3a3a3}
.af input:hover{background:#f0f0f0}
.af input:focus{outline:none;background:#fff;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.pw{position:relative;display:block}
.pw input{padding-right:48px}
.eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;background:none;color:#8a8a8a;cursor:pointer;border-radius:9px;display:grid;place-items:center}
.eye:hover{color:#111;background:#ebebeb}
.pwhint{display:block;font-size:12.5px;color:#8a8a8a;margin-top:7px}
.pwhint.ok{color:#2e9e57}
.abtn{width:100%;height:48px;border:0;border-radius:12px;background:var(--accent);color:#fff;font:inherit;font-size:16px;font-weight:500;cursor:pointer;margin-top:6px;transition:filter .15s,transform .05s}
.abtn:hover{filter:brightness(1.07)}
.abtn:active{transform:translateY(1px)}
.abtn:disabled{opacity:.6;cursor:wait}
.aswitch{text-align:center;font-size:14px;margin:16px 0 0;color:#444}
.aswitch a{font-weight:500}
.afine{text-align:center;font-size:12.5px;color:#8a8a8a;margin:22px 0 0;line-height:1.5}
.afine a{color:#666;text-decoration:underline}
body.authpage .authmsg{margin:0 0 12px}

@media (max-width:900px){
  .authshell{padding:12px;align-items:start}
  .authcard{grid-template-columns:1fr;min-height:0;border-radius:24px}
  .authleft{padding:24px;min-height:0;gap:18px}
  .aglass,.asteps,.apill{display:none}
  .authleft h2{font-size:28px;margin:0 0 6px}
  .authleft p{font-size:14.5px;margin:0}
  .authright{padding:46px 22px 34px}
  .aback{top:16px;right:20px}
  .aform h1{font-size:26px}
}
.aerr{display:block;font-size:12.5px;color:#c0392b;margin-top:7px;line-height:1.4}
.aerr[hidden]{display:none}
.af.bad input{border-color:#c0392b;background:#fff}

/* ============ account: app shell ============ */
body.appshell{background:#f5f5f3;margin:0}
.appwrap{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}
.appwrap[hidden]{display:none}
.appside{position:sticky;top:0;height:100vh;background:#121212;color:#fff;padding:24px 16px 16px;display:flex;flex-direction:column;gap:22px;overflow-y:auto}
.applogo{color:#fff;font-size:21px;font-weight:500;letter-spacing:-.3px;padding:0 10px;text-decoration:none}
.applogo b{font-weight:700;color:var(--accent)}
.applogo:hover{text-decoration:none}
.appnav{display:flex;flex-direction:column;gap:3px}
.appnav button{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:0;border-radius:12px;background:none;color:#a9a9a9;font:inherit;font-size:14.5px;cursor:pointer;text-align:left;transition:background .15s,color .15s}
.appnav button:hover{background:#1e1e1e;color:#fff}
.appnav button.on{background:rgba(255,106,0,.16);color:#ff9350}
.appnav .badge{margin-left:auto;font-style:normal;font-size:12px;min-width:22px;text-align:center;padding:1px 7px;border-radius:99px;background:#262626;color:#bdbdbd}
.appnav button.on .badge{background:rgba(255,106,0,.28);color:#ffb27d}
.navlabel{font-size:11.5px;letter-spacing:.8px;text-transform:uppercase;color:#6b6b6b;padding:16px 12px 6px}
.appfoot{margin-top:auto;display:flex;flex-direction:column;gap:2px}
.appfoot>a{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;color:#8d8d8d;font-size:13.5px;text-decoration:none}
.appfoot>a:hover{background:#1e1e1e;color:#fff;text-decoration:none}
.appuser{display:flex;align-items:center;gap:11px;margin-top:12px;padding:12px;border-radius:14px;background:#1c1c1c;min-width:0}
.appuser .avatar{width:38px;height:38px;font-size:16px;background:rgba(255,106,0,.2);color:#ff9350}
.appuser .uinfo b{color:#fff;font-size:14px}
.appuser .uinfo span{color:#8d8d8d;font-size:12px}
.appuser button{margin-left:auto;flex:none;width:34px;height:34px;border:0;border-radius:9px;background:none;color:#8d8d8d;cursor:pointer;display:grid;place-items:center}
.appuser button:hover{background:#2a2a2a;color:#fff}

.appmain{padding:38px 48px 70px;max-width:1080px;width:100%}
.atop{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:26px}
.atop h1{margin:0;font-size:27px;letter-spacing:-.5px;color:#111}
.atop p{margin:5px 0 0;color:var(--muted);font-size:14.5px}

/* overview */
.hero2{display:flex;justify-content:space-between;align-items:center;gap:24px;border-radius:24px;padding:34px 38px;color:#fff;margin-bottom:16px;
  background:radial-gradient(60% 80% at 15% 15%,rgba(255,224,190,.55),transparent 62%),radial-gradient(60% 70% at 95% 90%,rgba(110,20,0,.55),transparent 66%),linear-gradient(150deg,#ff8a3d 0%,#ff6a00 50%,#d9480f 100%)}
.h2pill{display:inline-block;padding:6px 14px;border-radius:99px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.32);font-size:12.5px;margin-bottom:14px}
.hero2 h2{margin:0 0 8px;font-size:32px;font-weight:500;letter-spacing:-.8px;color:#fff}
.hero2 p{margin:0 0 22px;font-size:15.5px;color:rgba(255,255,255,.92);max-width:430px}
.btn.light{background:#fff;color:#111;border-color:#fff;padding:11px 22px}
.btn.light:hover{color:var(--accent);border-color:#fff}
.h2ring{position:relative;width:132px;height:132px;flex:none}
.ring{width:132px;height:132px;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:7}
.rbg{stroke:rgba(255,255,255,.28)}
.rfg{stroke:#fff;stroke-linecap:round;stroke-dasharray:214;stroke-dashoffset:214;transition:stroke-dashoffset .6s ease}
.rtxt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}
.rtxt b{font-size:26px;font-weight:500}
.rtxt span{font-size:12px;opacity:.9}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}
.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:2px}
.stat b{font-size:28px;font-weight:500;letter-spacing:-.5px}
.stat span{font-size:13.5px;color:var(--muted)}
.ptitle{margin:0 0 6px;font-size:17px;font-weight:600}
.checklist{list-style:none;margin:0;padding:0}
.cl{display:flex;align-items:center;gap:16px;padding:16px 4px;border-top:1px solid var(--line)}
.cl:first-child{border-top:0}
.clmark{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:14px;border:1.5px solid #d6d6d6;color:#8a8a8a;background:#fff}
.cl.now .clmark{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.cl.done .clmark{background:#1faa5a;border-color:#1faa5a;color:#fff}
.cltxt{display:flex;flex-direction:column;min-width:0;flex:1}
.cltxt b{font-weight:500;font-size:15.5px}
.cltxt span{font-size:13.5px;color:var(--muted);margin-top:2px}
.cl.done .cltxt b{color:#777}
.cldone{font-size:13px;color:#1faa5a;font-weight:500}

/* panels + forms */
.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:none}
.emailrow{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--bg);border-radius:14px;padding:13px 16px;margin-bottom:22px}
.emailrow>div{display:flex;flex-direction:column;gap:2px}
.emailrow b{font-weight:500;font-size:15px}
.vpill{font-size:12px;padding:3px 11px;background:#fff4dc;border:1px solid #f0d089;color:#8a6200}
.pgrid{gap:18px 20px}
.cogrid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px;align-items:start}
.copreview{position:sticky;top:24px}
.cplabel{display:block;font-size:12.5px;color:var(--muted);margin:2px 4px 8px}
.cpcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}
.cpcard>b{display:block;font-weight:500;margin-bottom:8px}
.cpcard .kv span:last-child{text-align:right;max-width:60%;word-break:break-word}
.savefoot{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:16px}
.savefoot .savestate{margin-right:auto}

@media (max-width:980px){
  .cogrid{grid-template-columns:minmax(0,1fr)}
  .copreview{position:static}
}
@media (max-width:860px){
  .appwrap{grid-template-columns:minmax(0,1fr)}
  .appside{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:14px 16px}
  .applogo{padding:0}
  .appnav{flex-direction:row;order:3;width:100%;overflow-x:auto;scrollbar-width:none;gap:6px}
  .appnav button{width:auto;white-space:nowrap;padding:9px 13px;background:#1c1c1c}
  .navlabel{display:none}
  .appfoot{margin:0 0 0 auto;flex-direction:row;align-items:center}
  .appfoot>a{display:none}
  .appuser{margin:0;padding:6px 8px;background:none}
  .appuser .uinfo{display:none}
  .appmain{padding:22px 16px 50px}
  .hero2{padding:24px 22px;flex-direction:column-reverse;align-items:flex-start}
  .hero2 h2{font-size:26px}
  .h2ring,.ring{width:96px;height:96px}
  .rtxt b{font-size:20px}
}
@media (max-width:620px){
  .atop{flex-direction:column}
  .atop .btn{width:100%;justify-content:center}
  .stats{gap:8px}
  .stat{padding:14px}
  .stat b{font-size:22px}
  .cl{flex-wrap:wrap}
  .cl .btn{margin-left:50px}
  .panel{padding:18px}
  .savefoot{flex-wrap:wrap}
  .savefoot .savestate{width:100%}
}
#tabs.appnav button.on{background:rgba(255,106,0,.16);color:#ff9350;border:0}
@media (max-width:860px){.rtxt span{display:none}}

/* LinkedIn-style profile sections */
.sect{margin:26px 0 12px;font-size:13px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px}
.sect::after{content:"";flex:1;height:1px;background:var(--line)}
.sect.first{margin-top:0}
.panel .emailrow+.sect{margin-top:4px}
.pf textarea{min-height:88px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);font:inherit;font-size:14.5px;width:100%;resize:vertical;transition:border-color .15s,background .15s}
.pf textarea:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px var(--accent-soft)}
.pchips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:40px;padding:6px 8px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}
.pchips:focus-within{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px var(--accent-soft)}
.pchip-list{display:contents}
.pchip{display:inline-flex;gap:6px;align-items:center;background:var(--accent-soft);color:var(--accent);border-radius:99px;padding:3px 6px 3px 11px;font-size:13px}
.pchip button{border:0;background:none;color:inherit;cursor:pointer;font-size:11px;padding:0 2px}
.pchips input{flex:1;min-width:140px;border:0!important;background:transparent!important;height:28px!important;padding:0 4px!important;box-shadow:none!important;font-size:14px}

/* photo + logo */
.imgrow{display:flex;gap:20px;align-items:center;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.imgbox{width:88px;height:88px;border-radius:50%;flex:none;background:var(--accent-soft) center/cover no-repeat;color:var(--accent);display:grid;place-items:center;font-size:32px;font-weight:500;border:1px solid var(--line);overflow:hidden}
.imgbox.sq{border-radius:20px;background-color:#fff;background-size:contain}
.imgbox.sq:not(.has){background-color:var(--accent-soft)}
.imgbox.mini{width:40px;height:40px;border-radius:11px;font-size:16px}
.imgtxt{display:flex;flex-direction:column;gap:3px;min-width:0}
.imgtxt b{font-weight:500;font-size:15px}
.imgtxt>span:not(.err){font-size:13px;color:var(--muted)}
.imgbtns{display:flex;gap:8px;margin-top:8px}
.cphead{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.cphead>b{margin:0!important}
.avatar.has,.appuser .avatar.has{background-size:cover;background-position:center;color:transparent}
.amedia{display:flex;gap:18px;margin-bottom:14px}
.amitem{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
.amitem img,.amnone{width:84px;height:84px;object-fit:cover;border:1px solid var(--line);background:#fff;display:grid;place-items:center}
.amitem .round{border-radius:50%}
.amitem .sq{border-radius:18px;object-fit:contain}
@media (max-width:620px){.imgrow{flex-direction:column;align-items:flex-start;gap:14px}}

/* ============ white sidebar ============ */
.appside{background:#fff;color:#111;border-right:1px solid var(--line)}
.applogo{color:#111}
.appnav button{color:#6b6b6b}
.appnav button:hover{background:#f4f4f2;color:#111}
.appnav button.on,#tabs.appnav button.on{background:var(--accent-soft);color:var(--accent);font-weight:500}
.appnav .badge{background:#f0f0ee;color:#7a7a7a}
.appnav button.on .badge{background:#fff;color:var(--accent)}
.navlabel{color:#a0a0a0}
.appfoot>a{color:#777}
.appfoot>a:hover{background:#f4f4f2;color:#111}
.appuser{background:#f6f6f4}
.appuser .avatar{background-color:var(--accent-soft);color:var(--accent)}
.appuser .uinfo b{color:#111}
.appuser .uinfo span{color:#777}
.appuser button{color:#888}
.appuser button:hover{background:#e9e9e6;color:#111}
@media (max-width:860px){
  .appside{border-right:0;border-bottom:1px solid var(--line)}
  .appnav button{background:#f4f4f2}
  .appnav button.on{background:var(--accent-soft)}
}

/* ============ product editor ============ */
.navlink{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border-radius:12px;color:#6b6b6b;font-size:14.5px;text-decoration:none;transition:background .15s,color .15s}
.navlink:hover{background:#f4f4f2;color:#111;text-decoration:none}
.navlink.on{background:var(--accent-soft);color:var(--accent);font-weight:500}
.appmain.wide{max-width:1180px}
.bc{display:flex;gap:8px;align-items:center;font-size:13.5px;color:var(--muted);margin-bottom:10px}
.bc a{color:var(--muted)}
.bc a:hover{color:var(--accent)}
.bc b{font-weight:500;color:var(--ink);max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tstatus{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.tstatus .pill{padding:4px 12px;font-size:12.5px;border:1px solid var(--line);background:#fff}
.tstatus .savestate{font-size:13px}
.lay{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start;scroll-margin-top:16px}

.stepper{position:sticky;top:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}
.sprog{padding:2px 4px 14px;border-bottom:1px solid var(--line);margin-bottom:10px}
.sptop{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:8px}
.sptop b{font-weight:500;color:var(--ink)}
.sprog small{display:block;margin-top:8px;font-size:12.5px;color:var(--accent)}
.sprog small.ok{color:#1faa5a}
.stepnav2{display:flex;flex-direction:column;gap:2px}
.sbtn{display:flex;align-items:center;gap:12px;width:100%;padding:9px 8px;border:0;border-radius:12px;background:none;font:inherit;text-align:left;cursor:pointer;color:var(--ink);transition:background .15s}
.sbtn:hover{background:#f6f6f4}
.sbtn.on{background:var(--accent-soft)}
.smark{width:28px;height:28px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:12.5px;border:1.5px solid #d6d6d6;color:#8a8a8a;background:#fff}
.sbtn.on .smark{border-color:var(--accent);color:var(--accent);background:#fff}
.sbtn.done .smark{background:#1faa5a;border-color:#1faa5a;color:#fff}
.sbtn.warn .smark{border-color:#e0a100;color:#b98300;background:#fff8e6}
.stxt{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.stxt b{font-weight:500;font-size:14px}
.stxt small{font-size:12px;color:var(--muted)}
.sbtn.warn .stxt small{color:#b98300}
.sbtn.done .stxt small{color:#1faa5a}

.lstep.panel{padding:28px}
.shead{margin-bottom:20px}
.snum{display:inline-block;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.shead h2{margin:0 0 4px;font-size:22px;letter-spacing:-.3px}
.shead p{margin:0;font-size:14.5px}
.tip{background:var(--bg);border-radius:12px;padding:10px 14px;font-size:13.5px;color:#555;margin:0 0 18px}
.tip b{font-weight:600;color:var(--ink)}
.pl{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pl .shown{font-style:normal;font-size:11.5px;color:#8a8a8a;background:#f3f3f1;border-radius:99px;padding:2px 9px;margin:0;white-space:nowrap}
.pf textarea{min-height:76px}
.lstep .pgrid{gap:20px 20px}

.rep .rows{counter-reset:rr;display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
.row-item{position:relative;counter-increment:rr;display:block;border:1px solid var(--line);border-radius:14px;padding:16px 46px 16px 52px;margin:0;background:#fbfbfa}
.rowno::before{content:counter(rr);position:absolute;left:14px;top:16px;width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-size:12px;color:var(--muted)}
.row-item .row-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 14px}
.row-item .pf.wide{grid-column:1/-1}
.row-item .pf input,.row-item .pf select,.row-item .pf textarea{background:#fff}
.rmx{position:absolute;right:10px;top:10px;width:30px;height:30px;border:0;border-radius:8px;background:none;color:#a5a5a5;cursor:pointer;font-size:13px}
.rmx:hover{background:#fdecec;color:#c0392b}
.addrow{width:100%;padding:11px;border:1.5px dashed #d6d6d6;border-radius:12px;background:none;color:var(--muted);font:inherit;font-size:14px;cursor:pointer;transition:all .15s}
.addrow:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.addrow:disabled,.rmx:disabled{opacity:.4;cursor:not-allowed}

.cosum{display:grid;grid-template-columns:1fr 1fr;gap:0 26px;background:var(--bg);border-radius:16px;padding:8px 20px;position:relative}
.cosum .kv:nth-last-child(-n+1){border-bottom:0}
.cologo{width:56px;height:56px;border-radius:14px;object-fit:contain;background:#fff;border:1px solid var(--line);grid-column:1/-1;margin:12px 0 4px}
.rmiss{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}
.rcard{border:1px solid var(--line);border-radius:14px;padding:14px 18px;background:#fbfbfa;display:flex;flex-direction:column;gap:6px}
.rcard>b{font-weight:500}
.rcard.good{background:#eef9f2;border-color:#bfe6cd}
.rcard.good>b{color:#15803d}
.rcard.bad{background:#fff6ec;border-color:#ffd2b0}
.rcard.bad>b{color:#c2410c}
.misslist{margin:2px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:2px}
.heroprev{display:flex;gap:16px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:18px 20px;background:#fff}
.hplogo{width:64px;height:64px;border-radius:16px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:26px;font-weight:500;flex:none;overflow:hidden;border:1px solid var(--line)}
.hplogo img{width:100%;height:100%;object-fit:contain;background:#fff}
.hpmid{display:flex;flex-direction:column;gap:3px;min-width:0}
.hpmid b{font-weight:500;font-size:20px;color:var(--accent)}
.hpmid>span{font-size:14px;color:var(--muted)}
.hpchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.hchip{font-size:12.5px;padding:3px 11px;border-radius:99px;background:var(--brand-soft)}
.hchip.dark{background:#111;color:#fff}
.sumgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.scard{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fbfbfa}
.schead{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.schead b{font-weight:500}
.scard .kv{padding:6px 0;font-size:13.5px}
.scard .kv span:last-child{max-width:62%;text-align:right;word-break:break-word}
.chk.big{display:flex;align-items:flex-start;gap:12px;margin:14px 0 0;font-size:14px;line-height:1.5}
.chk.big input{margin-top:3px}

.lnav2{position:sticky;bottom:0;display:flex;gap:10px;align-items:center;margin-top:16px;padding:14px 0;background:linear-gradient(to top,#f5f5f3 70%,rgba(245,245,243,0));z-index:5}
.lnav2 .grow{flex:1}
.lnav2 [hidden]{display:none}

@media (max-width:1000px){
  .lay{grid-template-columns:minmax(0,1fr)}
  .stepper{position:static;padding:12px}
  .sprog{padding-bottom:10px}
  .stepnav2{flex-direction:row;overflow-x:auto;scrollbar-width:none;gap:6px}
  .sbtn{width:auto;flex:none;padding:7px 12px 7px 8px;border:1px solid var(--line);background:#fff}
  .sbtn.on{border-color:var(--accent)}
  .stxt small{display:none}
}
@media (max-width:620px){
  .lstep.panel{padding:18px}
  .cosum{grid-template-columns:1fr}
  .row-item{padding:14px 40px 14px 44px}
  .rowno::before{left:10px;top:14px}
  .heroprev{flex-direction:column;align-items:flex-start}
  .lnav2{flex-wrap:wrap}
  .lnav2 .grow{display:none}
  .lnav2 .btn{flex:1;justify-content:center}
  .tstatus{justify-content:flex-start}
  .pl .shown{display:none}
}
@media (max-width:860px){
  .navlink{width:auto;white-space:nowrap;padding:9px 13px;background:#f4f4f2}
  .navlink.on{background:var(--accent-soft)}
}

/* checkboxes: normal size everywhere, and pill buttons for the size choices */
.pf input[type=checkbox],.chk input[type=checkbox]{width:18px;height:18px;min-width:18px;padding:0;margin:0;border-radius:5px;accent-color:var(--accent);flex:none;box-shadow:none}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.checks .chk{position:relative;display:inline-flex;align-items:center;padding:8px 16px;border:1px solid var(--line);border-radius:99px;background:#fff;font-size:14px;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.checks .chk:hover{border-color:var(--accent)}
.checks .chk input{position:absolute;opacity:0;width:1px;height:1px;min-width:0;pointer-events:none}
.checks .chk:has(input:checked){background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:500}
.checks .chk:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.checks .chk:has(input:disabled){opacity:.6;cursor:not-allowed}

/* ============ full page preview ============ */
.pvbar{position:sticky;top:0;z-index:60;background:#111;color:#fff}
.pvin{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:54px;padding-top:8px;padding-bottom:8px}
.pvl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.pvtag{background:var(--accent);color:#fff;font-size:12px;letter-spacing:.5px;text-transform:uppercase;padding:3px 10px;border-radius:99px}
.pvl b{font-weight:500;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pvl .pill{background:#2a2a2a;border:0;color:#ddd;font-size:12px;padding:3px 10px}
.pvnote{font-size:13px;color:#a5a5a5}
.pvr{flex:none}
body.pvpage .sub{top:54px}
body.pvpage .top{position:static}
.editlink{position:absolute;right:22px;top:24px;font-size:12.5px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:99px;padding:4px 12px;opacity:0;transition:opacity .15s;text-decoration:none}
section.box:hover .editlink,.editlink:focus{opacity:1}
.editlink:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}
body.pvlocked .editlink{display:none}
.ph{border:1.5px dashed #d6d6d6;border-radius:14px;padding:18px 20px;background:#fbfbfa;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.ph b{font-weight:500}
.ph span{font-size:13.5px;color:var(--muted)}
.ph a{font-size:14px;margin-top:4px}
.ph.ed{background:#f4f4f2;border-style:solid;border-color:var(--line)}
.quick.edq{border-left-color:#d0d0d0;background:#fbfbfa;color:#666}
.quick.edq b{color:#666}
@media (max-width:620px){
  .pvnote{display:none}
  .pvl b{max-width:120px}
  .editlink{opacity:1;right:14px;top:16px}
}

/* ============ categories ============ */
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.catcard{position:relative;display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:16px;padding:16px 16px 16px 16px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.catcard:hover{text-decoration:none;border-color:var(--accent);box-shadow:0 6px 20px rgba(255,106,0,.08)}
.cico{width:44px;height:44px;border-radius:13px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none}
.cico.big{width:60px;height:60px;border-radius:17px}
.cbody{min-width:0;padding-right:70px}
.cbody b{font-weight:500;font-size:15.5px;display:block}
.cbody p{margin:3px 0 8px;font-size:13.5px;color:var(--muted);line-height:1.45}
.csubs{display:flex;flex-wrap:wrap;gap:5px}
.csubs span{font-size:11.5px;padding:2px 9px;border-radius:99px;background:var(--bg);color:#666}
.csubs .more{background:none;color:var(--accent)}
.ccount{position:absolute;right:14px;top:14px;font-size:12px;padding:3px 10px;border-radius:99px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}
.ccount.soon{background:var(--bg);color:#8a8a8a}
.subgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.subcard{position:relative;display:flex;gap:10px;justify-content:space-between;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fbfbfa;color:var(--ink);transition:border-color .15s,background .15s}
.subcard:hover{text-decoration:none;border-color:var(--accent);background:#fff}
.subcard b{font-weight:500}
.subcard p{margin:3px 0 0;font-size:13px;color:var(--muted);line-height:1.45}
.subcard .ccount{position:static;flex:none}
@media (max-width:620px){.catgrid,.subgrid{grid-template-columns:1fr}.cbody{padding-right:0}.ccount{position:static;align-self:flex-start;margin-top:2px}.catcard{flex-wrap:wrap}}
.catcard .ccount{position:static;flex:none;align-self:flex-start;margin-left:auto}
.catcard .cbody{flex:1;padding-right:0}
@media (max-width:620px){.catcard{flex-wrap:nowrap}}

/* ============ categories menu in the header ============ */
.top{position:relative}
@media (min-width:861px){.top{position:sticky;top:0;z-index:70}.sub{top:61px}}
.top nav .megabtn{display:inline-flex;align-items:center;gap:5px}
.top nav .megabtn svg{transition:transform .15s}
.top nav .megabtn[aria-expanded="true"]{color:var(--accent)}
.top nav .megabtn[aria-expanded="true"] svg{transform:rotate(180deg)}
.mega{position:absolute;left:0;right:0;top:100%;z-index:80;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 24px 50px rgba(0,0,0,.12)}
.megain{display:grid;grid-template-columns:290px minmax(0,1fr);gap:0;height:min(560px,calc(100vh - 110px))}
.megaleft{overflow-y:auto;padding:14px 12px 14px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px;scrollbar-width:thin}
.mg{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:11px;color:var(--ink);font-size:14.5px;text-decoration:none;cursor:pointer}
.mg:hover{text-decoration:none}
.mg .mgi{width:30px;height:30px;border-radius:9px;background:var(--bg);color:#666;display:grid;place-items:center;flex:none}
.mg .mgc{margin-left:auto;font-style:normal;color:#b5b5b5;font-size:18px;line-height:1}
.mg.on{background:var(--accent-soft);color:var(--accent);font-weight:500}
.mg.on .mgi{background:#fff;color:var(--accent)}
.mg.on .mgc{color:var(--accent)}
.mgall{margin-top:8px;padding:12px;font-size:14px;font-weight:500;border-top:1px solid var(--line)}
.megaright{overflow-y:auto;padding:22px 8px 22px 34px}
.mgpane{display:none}
.mgpane.on{display:block}
.mghead{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:4px}
.mghead b{font-size:19px;font-weight:500}
.mghead a{font-size:14px;font-weight:500;white-space:nowrap}
.mgback{display:none}
.mgblurb{margin:0 0 16px;color:var(--muted);font-size:14px}
.mgsubs{list-style:none;margin:0;padding:0;columns:3 210px;column-gap:28px}
.mgsubs li{break-inside:avoid;margin:0}
.mgsubs a{display:block;padding:8px 10px;margin-left:-10px;border-radius:9px;font-size:14.5px;color:var(--ink);text-decoration:none}
.mgsubs a:hover{background:var(--bg);color:var(--accent)}
@media (max-width:860px){
  .top .wrap{position:relative}
  .mega{position:fixed;left:0;right:0;top:auto;bottom:0;height:calc(100vh - 150px);z-index:90;border-radius:20px 20px 0 0;overflow:hidden}
  .megain{display:block;height:100%;padding:0}
  .megaleft{border:0;padding:10px 12px 60px;height:100%}
  .megaright{display:none;padding:14px 16px 60px;height:100%}
  .megain.drill .megaleft{display:none}
  .megain.drill .megaright{display:block}
  .mg .mgc{font-size:22px}
  .mghead{flex-wrap:wrap;gap:6px}
  .mghead b{width:100%;order:2;font-size:20px}
  .mgback{display:inline-block;order:1;border:0;background:none;color:var(--accent);font:inherit;font-size:14px;padding:6px 0;cursor:pointer}
  .mghead a{order:3}
  .mgsubs{columns:1}
  .mgsubs a{padding:11px 8px;border-bottom:1px solid var(--line);border-radius:0}
}
body.megaopen::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:60;pointer-events:none}
.top .megain{display:grid;grid-template-columns:290px minmax(0,1fr);align-items:stretch;gap:0;height:min(560px,calc(100vh - 110px));padding-top:0;padding-bottom:0}
@media (max-width:860px){.top .megain{display:block;height:100%;padding:0}}

/* ============ brand logo images ============ */
.top .logo{display:flex;align-items:center;line-height:0}
.top .logo img{height:30px;width:auto;display:block}
.applogo{display:block;padding:0 8px;line-height:0}
.applogo img{height:32px;width:auto;display:block}
.alogo{display:block;line-height:0}
.alogo img{height:38px;width:auto;display:block}
@media (max-width:860px){.top .logo img{height:26px}.applogo img{height:28px}.alogo img{height:32px}}
.top .logo img{height:36px}
.applogo img{height:36px}
.alogo img{height:44px}
@media (max-width:860px){.top .logo img{height:30px}.applogo img{height:30px}.alogo img{height:36px}}
