/* AutoSVF.ro — panel */
body.panel main { width: 100%; max-width: 1180px; margin: 0 auto; padding: 36px 24px 80px; outline: none; }
.panel .site-head .wrap { max-width: 1180px; }
.nav-app, .nav-user { display: contents; }
.panel .site-nav a { white-space: nowrap; padding: .45rem .65rem; font-size: .95rem; }
.panel .site-head .wrap { gap: 1rem; }
.panel .brand { font-size: 1.05rem; }
.who { color: var(--muted); font-size: .92rem; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.muted { color: var(--muted); }
.nowrap { white-space: nowrap; }
.m0 { margin: 0; }
.loading { color: var(--muted); padding: 60px 0; text-align: center; }
h1 { font-size: clamp(1.9rem, 3.4vw, 2.6rem); }
.card { background: linear-gradient(180deg, rgba(29,32,40,.55), rgba(20,22,28,.9)); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px; box-shadow: inset 0 1px 0 rgba(255,178,122,.06); }
.card h2 { font-size: 1.35rem; margin: 0; color: #ffffff; }
.card.flush { padding: 0; overflow: hidden; }
.card-head { padding: 14px; border-bottom: 1px solid var(--line); }
.stack { display: flex; flex-direction: column; gap: 16px; }
.row { display: flex; gap: 12px; align-items: flex-end; }
.grow { flex: 1; min-width: 0; }
.w-port { width: 120px; flex: none; }
.hint { font-size: .92rem; color: var(--muted); margin: 0; }
.page-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.page-head h1 { margin-bottom: .2em; }
.back { display: inline-block; margin-bottom: 16px; color: var(--soft); text-decoration: none; font-size: .94rem; }
.back::before { content: '‹ '; color: var(--gold); font-size: 1.2em; }
.back:hover { color: var(--text); }

/* Parola cu buton Arata */
.pw { display: flex; position: relative; margin-top: .35rem; }
.pw input { margin: 0; padding-right: 76px; }
.pw-toggle { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); background: none; border: 0; color: var(--gold-hi); font: 700 .9rem var(--body); cursor: pointer; padding: 6px 8px; border-radius: 6px; }

.check { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; cursor: pointer; color: var(--soft); }
.check input { width: 18px; height: 18px; margin: .18rem 0 0; flex: none; accent-color: var(--gold); }
.check.sm { font-size: .82rem; align-items: center; } .check.sm input { margin: 0; width: 15px; height: 15px; }

/* Autentificare */
.auth-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 470px); gap: 64px; align-items: center; min-height: calc(100vh - 260px); position: relative; }
.auth-copy { position: relative; }
.auth-copy h1 { font-size: clamp(2.2rem, 4.2vw, 3.3rem); line-height: 1.08; }
.auth-copy p { color: var(--soft); max-width: 46ch; font-size: 1.12rem; }
.auth-copy .facts { list-style: none; padding: 0; margin: 22px 0 24px; display: grid; gap: 9px; color: var(--soft); font-size: 1.06rem; }
.auth-copy .facts li { position: relative; padding-left: 22px; }
.auth-copy .facts li::before { content: ''; position: absolute; left: 1px; top: .58em; width: 8px; height: 8px; transform: rotate(45deg); background: var(--gold); }
.auth-copy .facts b { color: var(--parchment); }
.auth.frame { padding: 0; }
.auth .frame-in { padding: 20px 20px 22px; }
.auth-stone { position: absolute; width: 190px; right: -120px; bottom: 30px; pointer-events: none; z-index: -1; }
@media (max-width: 1240px) { .auth-stone { display: none; } }
.auth-stone .glow, .auth-stone .cracks { opacity: 1; }
.tabs { display: flex; gap: 4px; background: var(--deep); padding: 4px; border: 1px solid var(--line); border-radius: var(--r-md); margin-bottom: 22px; }
.tab { flex: 1; text-align: center; background: transparent; border: 1px solid transparent; color: var(--muted); padding: .58rem 1rem; border-radius: var(--r-sm); font: 700 1rem var(--body); text-decoration: none; cursor: pointer; }
.tab:hover { color: var(--parchment); }
.tab.active { background: linear-gradient(180deg, rgba(255,138,76,.2), rgba(255,138,76,.08)); border-color: rgba(255,138,76,.5); color: var(--gold-hi); }
.tabs.inline { display: inline-flex; margin: 8px 0 20px; flex-wrap: wrap; }
.tabs.inline .tab { flex: none; }
.closed { color: var(--muted); }

/* Instalare noua */
.install { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 20px; align-items: start; }
.install .block:nth-child(3) { grid-column: 1 / -1; }
fieldset.block { margin: 0; min-width: 0; border: 1px solid var(--edge); border-radius: 20px; background: var(--glass), var(--ink-1); padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 16px; }
legend { float: left; width: 100%; padding: 0; margin-bottom: 4px; font: 600 1.4rem var(--display); color: #ffffff; display: flex; align-items: center; gap: .7rem; }
legend + * { clear: both; }
.num { display: inline-grid; place-items: center; flex: none; width: 32px; height: 32px; font: 600 .9rem/1 var(--mono); color: #ffffff; background: var(--fire); border-radius: 10px;
  box-shadow: 0 8px 20px -8px rgba(255,106,43,.7); }
.seg { display: inline-flex; background: var(--deep); border: 1px solid var(--line); border-radius: var(--r-md); padding: 4px; align-self: flex-start; }
.seg label { margin: 0; cursor: pointer; position: relative; } .seg input { position: absolute; opacity: 0; pointer-events: none; }
.seg span { display: block; padding: .42rem 1rem; border-radius: var(--r-sm); color: var(--muted); font-size: .98rem; font-weight: 700; border: 1px solid transparent; }
.seg input:checked + span { background: rgba(255,138,76,.14); border-color: rgba(255,138,76,.5); color: var(--gold-hi); }
.seg input:focus-visible + span { outline: 2px solid var(--gold); }

.ip-status { font-size: .93rem; margin-top: -6px; }
.ip-status:empty { display: none; }
.ip-status.wait { color: var(--muted); }
.ip-status.ok { color: var(--mint); }
.ip-status.bad { color: var(--cinnabar); }
.ip-help { border: 1px solid rgba(245,177,76,.45); background: rgba(245,177,76,.07); border-radius: var(--r-md); padding: 14px 16px; color: var(--soft); }
.ip-help p { margin: 0 0 .6em; } .ip-help p:last-child { margin: 0; }
.ip-help b { color: var(--amber); }
.ip-help .links { display: flex; flex-wrap: wrap; gap: 8px; }

.sf-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.sf { position: relative; border: 1px solid var(--line); border-radius: var(--r-md); padding: 13px 14px; background: var(--deep); cursor: pointer; color: var(--parchment); font: 400 1.12rem var(--display); display: flex; align-items: center; gap: 10px; transition: border-color .15s, background .15s, box-shadow .15s; }
.sf:hover { border-color: var(--line-hi); }
.sf input { position: absolute; opacity: 0; pointer-events: none; }
.sf::before { content: ''; width: 9px; height: 9px; flex: none; border: 1.5px solid var(--muted); transform: rotate(45deg); border-radius: 1px; }
.sf:has(input:checked) { border-color: var(--gold); background: linear-gradient(180deg, rgba(255,138,76,.16), rgba(224,51,74,.1)); box-shadow: 0 0 0 1px rgba(255,138,76,.35), 0 6px 20px -10px rgba(255,123,58,.6); color: #ffffff; }
.sf:has(input:checked)::before { background: var(--gold); border-color: var(--gold); }
.sf:has(input:focus-visible) { outline: 2px solid var(--gold); outline-offset: 2px; }
.opt { display: flex; gap: .8rem; align-items: flex-start; border: 1px solid var(--line); background: var(--deep); border-radius: var(--r-md); padding: 14px 16px; cursor: pointer; font-weight: 400; }
.opt:has(input:checked) { border-color: var(--gold); }
.opt input { width: 18px; height: 18px; margin: .15rem 0 0; flex: none; accent-color: var(--gold); }
.opt b { display: block; color: var(--text); font-weight: 700; }
.opt small { display: block; margin-top: 3px; color: var(--muted); line-height: 1.5; font-size: .86rem; }
.warn { border: 1px solid rgba(255,107,107,.42); background: rgba(224,51,74,.12); border-radius: var(--r-md); padding: 14px 16px; font-size: 1rem; color: #f6d3c9; }
.warn b { color: #ffb4b4; }
.todo { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: .9rem; color: var(--muted); }
.todo:empty { display: none; }
.todo li::before { content: '○ '; color: var(--amber); }
#btn-install { align-self: flex-start; min-width: 240px; }

/* Dialog confirmare */
dialog { background: var(--glass), var(--ink-1); color: var(--text); border: 1px solid var(--edge-hi); border-radius: var(--r-xl); box-shadow: 0 50px 120px -40px rgba(0,0,0,.95); padding: 0; width: min(540px, calc(100vw - 24px)); }
dialog::backdrop { background: rgba(4,5,7,.8); backdrop-filter: blur(6px); }
.dlg { padding: 18px 20px 20px; }
.dlg h2 { font-size: 1.6rem; }
.sum { display: grid; grid-template-columns: auto 1fr; gap: 8px 18px; margin: 16px 0; font-size: .95rem; }
.sum dt { color: var(--muted); } .sum dd { margin: 0; font-weight: 600; word-break: break-all; }
.danger-note { color: #f3cdc5; font-size: .94rem; } .danger-note b { color: #ffb4b4; }
.dlg-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; margin-top: 8px; }

/* Pastile de status */
.pill { display: inline-flex; align-items: center; gap: .45rem; padding: .3rem .8rem; border-radius: 999px; font-size: .9rem; font-weight: 700; background: var(--surface-2); color: var(--soft); white-space: nowrap; }
.pill::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.pill.success { color: var(--mint); background: rgba(70,211,154,.1); }
.pill.warning { color: var(--amber); background: rgba(245,177,76,.12); }
.pill.failed { color: var(--cinnabar); background: rgba(255,107,107,.12); }
.pill.running, .pill.connecting, .pill.queued { color: var(--gold-hi); background: rgba(255,138,76,.12); }
.pill.running::before, .pill.connecting::before { animation: blink 1s infinite; }
@keyframes blink { 50% { opacity: .2; } }

/* Pagina instalarii */
.job-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chips span { background: var(--wood); border: 1px solid var(--line); border-radius: 999px; padding: .2rem .75rem; font-size: .92rem; color: var(--soft); }
#j-title { font-family: var(--body); font-weight: 700; letter-spacing: -.01em; }
.steps { list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; padding: 0; margin: 22px 0; }
.steps li { padding: 10px 2px 0; border-top: 3px solid var(--line); color: var(--muted); font-size: .95rem; }
.steps li.done { color: var(--mint); border-color: var(--mint); }
.steps li.current { color: var(--gold-hi); border-color: var(--gold); }
.steps li.fail { color: var(--cinnabar); border-color: var(--cinnabar); }
.term { border: 1px solid var(--edge-hi); border-radius: var(--r-xl); background: var(--deep); overflow: hidden; box-shadow: 0 40px 100px -50px rgba(255,106,43,.4); }
.term-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 14px; border-bottom: 1px solid var(--edge); background: rgba(255,255,255,.02); font: 500 .85rem var(--mono); letter-spacing: .04em; color: var(--soft); }
.term-bar .check { font-family: var(--body); }
.term pre { margin: 0; padding: 14px 16px; height: 460px; overflow: auto; font: 12.5px/1.65 var(--mono); color: #c3bdb3; white-space: pre-wrap; word-break: break-word; }
.result { margin-bottom: 20px; }
.result h2 { font-size: 1.6rem; margin-bottom: .3em; }
.result p { color: var(--soft); }
.result.success { border-color: rgba(70,211,154,.5); border-top: 3px solid var(--jade); } .result.success h2 { color: var(--jade); }
.result.warning { border-color: rgba(245,177,76,.5); border-top: 3px solid var(--amber); } .result.warning h2 { color: var(--amber); }
.result.failed { border-color: rgba(255,107,107,.45); border-top: 3px solid var(--danger); } .result.failed h2 { color: #ffc2c2; }
.result ul { margin: .4em 0 1em; padding-left: 1.2em; color: var(--soft); }
.kv { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; margin: 14px 0; }
.kv div { background: var(--deep); border: 1px solid var(--line); border-radius: var(--r-md); padding: 10px 12px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 8px; }
.kv span { grid-column: 1 / -1; font-size: .88rem; color: var(--muted); }
.kv b { font-family: var(--mono); font-weight: 500; word-break: break-all; }
.kv button { background: none; border: 1px solid var(--line-hi); color: var(--gold-hi); border-radius: var(--r-sm); font: 700 .85rem var(--body); padding: 3px 8px; cursor: pointer; }
.kv button:hover { border-color: var(--gold); }
.result-actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* Tabele */
.tbl { width: 100%; border-collapse: collapse; font-size: 1rem; }
.tbl th { text-align: left; font-weight: 700; color: var(--gold); font-size: .9rem; padding: 12px 16px; border-bottom: 1px solid rgba(255,138,76,.35); white-space: nowrap; background: rgba(11,12,16,.35); }
.tbl td { padding: 12px 16px; border-bottom: 1px solid rgba(58,63,75,.7); vertical-align: middle; }
.tbl tr:last-child td { border-bottom: 0; }
.tbl tr.click { cursor: pointer; } .tbl tr.click:hover td { background: rgba(255,138,76,.05); }
.tbl .mono { font-family: var(--mono); font-size: .86rem; }
.tbl tr.off td { opacity: .5; }
.tbl .actions { display: flex; gap: 6px; justify-content: flex-end; flex-wrap: wrap; }
.tbl a.rowlink { color: var(--text); text-decoration: none; font-weight: 600; }
.empty { padding: 44px 24px !important; text-align: center; color: var(--muted); }
.empty p { margin: 0 0 14px; }

.admin-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin: 16px 0 6px; }
.stat { background: linear-gradient(180deg, rgba(29,32,40,.6), rgba(20,22,28,.9)); border: 1px solid var(--line); border-radius: var(--r-md); padding: 12px 14px; }
.stat b { display: block; font: 700 1.8rem/1.2 var(--body); color: var(--gold-hi); } .stat span { font-size: .92rem; color: var(--muted); }

#toast { position: fixed; bottom: 22px; left: 50%; transform: translateX(-50%) translateY(20px); background: var(--wood-2); border: 1px solid rgba(255,138,76,.5); box-shadow: 0 16px 40px -12px rgba(0,0,0,.8); padding: .75rem 1.15rem; border-radius: var(--r-md); opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; z-index: 60; max-width: min(560px, 92vw); color: var(--text); }
#toast.show { opacity: 1; transform: translateX(-50%); }
#toast.err { border-color: rgba(255,107,107,.6); color: #ffd3cb; }

@media (max-width: 900px) {
  body.panel main { padding: 24px 16px 60px; }
  .auth-wrap, .install, .admin-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .auth-wrap { min-height: 0; }
  .stats { grid-template-columns: repeat(3, 1fr); }
  .steps { grid-template-columns: repeat(5, 1fr); }
  .steps li { font-size: .72rem; }
  #btn-install { align-self: stretch; }
  .who { max-width: none; padding: .8rem 0 0; }
  .nav-user .btn { margin-top: 10px; align-self: flex-start; }
  /* tabele ca fise pe mobil */
  .tbl.cards thead { display: none; }
  .tbl.cards tr { display: block; padding: 12px 16px; border-bottom: 1px solid var(--line); }
  .tbl.cards td { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; border: 0; }
  .tbl.cards td::before { content: attr(data-label); color: var(--muted); font: .84rem var(--body); }
  .tbl.cards td.empty::before { content: none; }
  .tbl.cards td.empty { display: block; }
  .term pre { height: 380px; font-size: 11.5px; }
}
@media (max-width: 560px) {
  .row { flex-direction: column; align-items: stretch; }
  .w-port { width: 100%; }
  fieldset.block { padding: 18px 16px 20px; }
  .steps { gap: 5px; }
  .steps li { font-size: .64rem; line-height: 1.3; }
}

/* Promotie */
.promo-card { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; border: 1px solid rgba(70,211,154,.45); border-left: 4px solid var(--jade); background: linear-gradient(90deg, rgba(70,211,154,.12), rgba(70,211,154,.04));
  border-radius: var(--r-md); padding: 14px 18px; margin-bottom: 20px; color: var(--soft); }
.promo-card p { margin: 0; }
.promo-card b { color: var(--mint); }
.promo-card.off { border-color: var(--line); background: var(--surface); }
.promo-card.off b { color: var(--soft); }
.promo-offer { border: 1px solid rgba(70,211,154,.45); background: rgba(70,211,154,.07); border-radius: var(--r-md); padding: 14px 16px; color: var(--soft); margin-bottom: 10px; }
.promo-offer p { margin: 0 0 .6em; }
.promo-offer b { color: var(--mint); }
.ps-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; }
.promo-state { display: grid; gap: 8px; color: var(--soft); }
.w-unit { width: 130px; flex: none; }
select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--gold) 50%), linear-gradient(135deg, var(--gold) 50%, transparent 50%);
  background-position: calc(100% - 18px) 55%, calc(100% - 13px) 55%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 34px; margin-top: .35rem; }
textarea.plain { font-family: var(--body); font-size: .95rem; }
.news-ro { color: var(--text); }
@media (max-width: 560px) { .w-unit { width: 100%; } }

/* Promotia in administrare: tabelul ocupa toata latimea sub setari */
[data-apanel="promo"] .admin-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 380px); }
.claims-wrap { overflow-x: auto; }
.tbl td.nowrap { white-space: nowrap; }
.sub-h { font-size: 1.2rem; margin: 26px 0 12px; }

.promo-claim { align-items: flex-end; }
.promo-claim > p { flex: 1 1 380px; }
.promo-form { display: flex; gap: 8px; flex: 0 1 420px; }
.promo-form input { font-family: var(--mono); }
@media (max-width: 560px) { .promo-form { flex-direction: column; flex-basis: 100%; } }

/* Descarcari dupa instalare */
.downloads { border-top: 1px solid var(--line); margin: 16px 0; padding-top: 16px; }
.downloads h3 { font-size: 1.1rem; margin-bottom: .2em; }
.dl-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.btn.dl { flex-direction: column; align-items: flex-start; gap: 2px; padding: .7rem 1.1rem; }
.btn.dl small { font-weight: 400; font-size: .78rem; opacity: .8; }

/* Catalog serverfile-uri */
.sf-form { margin-bottom: 8px; }
.sf-form-grid { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 14px; }
.sf-url { word-break: break-all; }
.fcell { display: grid; gap: 4px; }
.fname { word-break: break-all; font-size: .88rem; }
.actions.start { justify-content: flex-start; margin-top: 4px; }
.up { display: grid; gap: 4px; min-width: 160px; }
.up progress { width: 100%; height: 8px; accent-color: var(--gold); }
@media (max-width: 900px) { .sf-form-grid { grid-template-columns: 1fr; } }

/* Editor serverfile: sloturi de fisiere */
.sf-editor { margin: 16px 0 6px; border-color: rgba(255,138,76,.5); }
.ed-h { font-size: 1.2rem; margin: 6px 0 0; display: block; }
.ed-h small { font-weight: 400; font-family: var(--body); }
.slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.slot { display: grid; gap: 4px; align-content: start; background: var(--deep); border: 1px solid var(--line); border-radius: var(--r-md); padding: 12px 14px; }
.slot.has { border-color: rgba(70,211,154,.4); }
.slot > b { font-size: .92rem; }
/* Cardurile de serverfile cu buton de prezentare */
.sf-wrap { position: relative; display: flex; flex-direction: column; }
.sf-wrap .sf { flex: 1; }
.sf-info { position: absolute; right: 8px; bottom: 6px; background: none; border: 0; color: var(--gold-hi); font: 700 .8rem var(--body); cursor: pointer; padding: 2px 4px; text-decoration: underline; text-underline-offset: 2px; }
.sf-wrap:has(.sf-info) .sf { padding-bottom: 24px; }

/* Galeria de imagini din editor */
.ed-sub { margin-top: 4px; }
.img-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.img-item { margin: 0; position: relative; border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden; background: var(--deep); aspect-ratio: 4 / 3; }
.img-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.img-item figcaption { position: absolute; left: 6px; right: 6px; bottom: 6px; display: flex; gap: 4px; justify-content: flex-end; }
.img-item.busy { display: grid; place-items: center; color: var(--muted); font-size: .85rem; }
.ib { width: 30px; height: 30px; border-radius: var(--r-sm); border: 1px solid rgba(255,138,76,.4); background: rgba(11,12,16,.88); color: var(--text); cursor: pointer; font: 600 1rem/1 var(--body); }
.ib:disabled { opacity: .35; cursor: default; }
.ib.danger { color: var(--cinnabar); }
.img-add { aspect-ratio: 4 / 3; border: 1.5px dashed var(--line-hi); border-radius: var(--r-md); background: transparent; color: var(--gold-hi); font: 600 .95rem var(--body); cursor: pointer; }
.img-add:hover { border-color: var(--gold); }

@media (max-width: 600px) { .term, dialog { border-radius: var(--r-lg); } }

/* In tabele, actiunile raman discrete (rosul ramane pentru actiunea principala a paginii) */
.tbl .btn-gold { background: rgba(255,138,76,.12); border-color: rgba(255,138,76,.55); color: var(--gold-hi); box-shadow: none; text-shadow: none; }
.tbl .btn-gold:hover:not(:disabled) { background: rgba(255,138,76,.22); color: #ffffff; border-color: var(--gold-hi); }

/* ---------- Instalari cumparate / plati ---------- */
.credits-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .25rem .7rem; border-radius: 999px; border: 1px solid rgba(255,138,76,.5); color: var(--gold-hi) !important;
  background: rgba(255,138,76,.1); font-size: .9rem !important; font-weight: 700 !important; white-space: nowrap; text-decoration: none; }
.credits-chip::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--ember-hi); box-shadow: 0 0 8px var(--ember); }
.credits-chip:hover { background: rgba(255,138,76,.2); }
.buy-offer { border: 1px solid rgba(255,138,76,.5); border-left: 4px solid var(--red-hi); background: linear-gradient(90deg, rgba(224,51,74,.16), rgba(224,51,74,.04)); border-radius: var(--r-md); padding: 14px 16px; color: var(--soft); margin-bottom: 10px; }
.buy-offer p { margin: 0 0 .6em; } .buy-offer b { color: var(--gold-hi); }
.balance { font-size: 1.1rem; } .balance b { color: var(--gold-hi); font-size: 1.3rem; }

.buy { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.buy > .buy-tabs, .buy > .block.wide { grid-column: 1 / -1; }
.buy-tabs { margin: 0; justify-self: start; }
.pkgs { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
.pkg { position: relative; display: grid; justify-items: center; text-align: center; gap: 2px; padding: 18px 12px 16px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--deep); cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.pkg input { position: absolute; opacity: 0; pointer-events: none; }
.pkg:hover { border-color: var(--line-hi); }
.pkg:has(input:checked) { border-color: var(--gold); background: linear-gradient(180deg, rgba(255,138,76,.16), rgba(224,51,74,.08)); box-shadow: 0 0 0 1px rgba(255,138,76,.35), 0 8px 24px -12px rgba(255,123,58,.6); }
.pkg:has(input:focus-visible) { outline: 2px solid var(--gold-hi); outline-offset: 2px; }
.pk-n { font: 700 2.4rem/1 var(--body); color: #ffffff; }
.pk-u { color: var(--muted); font-size: .95rem; }
.pk-p { margin-top: 8px; font: 700 1.3rem var(--body); color: var(--gold-hi); }
.pk-e { color: var(--muted); font-size: .88rem; }
.pk-best { position: absolute; top: -11px; left: 50%; transform: translateX(-50%); background: var(--red); color: #ffffff; font-size: .78rem; font-weight: 700; padding: 2px 10px; border-radius: 999px; white-space: nowrap; border: 1px solid #ffb27a; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.grid2 .wide { grid-column: 1 / -1; }
.total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 14px; background: var(--deep); border: 1px solid var(--line); border-radius: var(--r-md); }
.total span { color: var(--soft); } .total b { font: 700 1.6rem var(--body); color: var(--gold-hi); }
.pay-msg { border-radius: var(--r-md); padding: 14px 18px; margin-bottom: 20px; border: 1px solid; }
.pay-msg p { margin: 0; }
.pay-msg.ok { border-color: rgba(70,211,154,.5); border-left: 4px solid var(--jade); background: rgba(70,211,154,.08); color: #d5f3e4; }
.pay-msg.wait { border-color: rgba(255,138,76,.5); border-left: 4px solid var(--gold); background: rgba(255,138,76,.08); }
.pay-msg.bad { border-color: rgba(255,107,107,.5); border-left: 4px solid var(--danger); background: rgba(224,51,74,.1); }
.sm-gap { gap: 8px; }
.pkg-row { align-items: flex-end; }
.pkg-row .btn { height: 44px; }
.bill { line-height: 1.45; }
#tbl-orders-admin .actions { flex-direction: column; align-items: flex-end; }
#tbl-orders-admin .check.sm { color: var(--soft); }
@media (max-width: 900px) { .buy { grid-template-columns: minmax(0, 1fr); } #tbl-orders-admin .actions { align-items: stretch; } }
@media (max-width: 560px) { .grid2 { grid-template-columns: minmax(0, 1fr); } .pkgs { grid-template-columns: 1fr 1fr; } .pkg-row { flex-direction: row; } }

/* ---------- Confirmare email / parola ---------- */
.verify-bar { background: linear-gradient(90deg, rgba(245,177,76,.22), rgba(245,177,76,.08)); border-bottom: 1px solid rgba(245,177,76,.45); color: var(--parchment); }
.vb-inner { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding-top: 10px; padding-bottom: 10px; max-width: 1180px; }
.vb-inner p { margin: 0; } .vb-inner b { color: var(--gold-hi); }
.auth-one { display: grid; place-items: center; min-height: calc(100vh - 300px); }
.auth-one .auth { width: min(480px, 100%); }
.auth-one h1 { font-size: clamp(1.8rem, 3vw, 2.3rem); margin: 0; }
.mail-state { margin-bottom: 16px; }

/* Adminul in contul unui client */
.imp-bar { background: linear-gradient(90deg, rgba(224,51,74,.4), rgba(224,51,74,.16)); border-bottom: 1px solid rgba(255,138,76,.55); color: #ffffff; }
.imp-bar b { color: var(--gold-hi); }
/* Prima instalare gratuita */
.free-banner { border: 1px solid rgba(255,138,76,.55); background: linear-gradient(90deg, rgba(255,138,76,.18), rgba(224,51,74,.08)); border-radius: var(--r-md); padding: 12px 16px; margin-bottom: 16px; color: var(--parchment); }
.free-banner b { color: var(--gold-hi); }
/* Trafic */
.traffic-head { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--deep); margin-bottom: 16px; }
.traffic-head .hint { flex: 1 1 320px; }
.funnel { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin-bottom: 18px; }
.fstep { border: 1px solid var(--line); border-radius: var(--r-md); background: linear-gradient(180deg, rgba(29,32,40,.55), rgba(20,22,28,.9)); padding: 14px 16px; display: flex; flex-direction: column; gap: 2px; }
.fstep b { font: 700 1.8rem/1.1 var(--body); color: var(--gold-hi); }
.fstep span { color: var(--parchment); }
.fstep small { color: var(--muted); }
.card-title { font-size: 1.1rem; margin: 0; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.traffic-grid { align-items: start; }
.tbl tfoot th { border-top: 1px solid var(--line-hi); color: var(--gold-hi); text-align: left; }
.traffic-head select { width: auto; flex: 0 0 auto; min-width: 210px; }
.funnel-note { grid-column: 1 / -1; margin: 0; }

/* Autopatcher */
.chip{display:inline-block;font-size:.78rem;padding:.2rem .6rem;border-radius:999px;background:var(--surface-2);color:var(--soft);margin-right:6px}
.chip.ok{color:var(--mint);background:rgba(70,211,154,.12)}
.rep{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.rep>input,.rep>textarea{flex:1;min-width:120px}
.rep>textarea{min-height:38px}
/* Pasii din „Cum functioneaza”: doar numarul din chenar (fara numerotarea listei), pe acelasi rand cu textul */
.steps-col{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:12px}
.steps-col li{display:flex;align-items:flex-start;gap:12px;color:var(--soft)}
.steps-col li b{color:#fff}
.steps-col.sm li{margin:0}
#pat-intro{margin-bottom:16px}
.steps-col.sm .seal{width:26px;height:26px;font-size:.85rem;border-radius:8px;margin-top:1px}
#pe-media.slots{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.pkg[data-plan]{cursor:default}

/* Acasă — dashboard combinat */
.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.home-card{display:flex;flex-direction:column;gap:12px;position:relative}
.home-card.primary{border-color:var(--line-hi);box-shadow:inset 0 1px 0 rgba(255,178,122,.1),0 0 0 1px rgba(255,138,76,.12)}
.home-card h2{font-size:1.3rem;color:#ffffff}
.home-card p{color:var(--soft);line-height:1.6;margin:0}
.home-card .ticks{margin:2px 0}
.home-card .row{margin-top:auto;padding-top:6px}
.home-ic{width:52px;height:52px}
.home-ic svg{width:100%;height:100%}
@media(max-width:720px){.home-grid{grid-template-columns:1fr}}

/* ---------- Site & Item Shop (CMS) ---------- */
.cms-sub { align-items: center; gap: 8px; flex-wrap: nowrap; }
.cms-themes { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.cms-themes.sm { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.cms-theme { position: relative; display: grid; gap: 4px; padding: 10px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--deep); cursor: pointer; font-weight: 400; transition: border-color .15s, box-shadow .15s; }
.cms-theme input { position: absolute; opacity: 0; pointer-events: none; }
.cms-theme:hover { border-color: var(--line-hi); }
.cms-theme:has(input:checked) { border-color: var(--gold); box-shadow: 0 0 0 1px rgba(255,138,76,.35); }
.cms-theme:has(input:focus-visible) { outline: 2px solid var(--gold-hi); outline-offset: 2px; }
.cms-theme.locked { cursor: not-allowed; opacity: .6; }
.ct-prev { position: relative; display: block; height: 92px; border-radius: 8px; overflow: hidden; background: linear-gradient(180deg, var(--sf) 0 22%, var(--bg) 22%); border: 1px solid rgba(255,255,255,.06); }
.ct-prev i { position: absolute; background: var(--sf); border-radius: 4px; }
.ct-prev i.ct-l-classic { right: 8px; top: 28px; bottom: 8px; width: 26%; }
.ct-prev i.ct-l-portal { left: 0; top: 0; bottom: 0; width: 22%; border-radius: 0; }
.ct-prev i.ct-l-modern { left: 8px; right: 8px; bottom: 8px; height: 16px; }
.ct-prev b { position: absolute; left: 30%; top: 36px; width: 34%; height: 8px; border-radius: 3px; background: var(--tx); opacity: .85; }
.ct-prev em { position: absolute; left: 30%; top: 52px; width: 22%; height: 12px; border-radius: 4px; background: var(--ac); box-shadow: 14px 0 0 -2px var(--ac2); }
.ct-l-classic ~ b, .ct-l-classic ~ em { left: 10px !important; }
.ct-name { font-weight: 700; color: var(--text); }
.ct-lock { color: var(--gold-hi); }
.ct-pv { font-size: .86rem; }
.cms-thumb { max-height: 70px; max-width: 100%; width: auto; border-radius: 6px; border: 1px solid var(--line); background: #0004; }
.cms-adv summary { cursor: pointer; color: var(--soft); }
.cms-adv[open] summary { margin-bottom: 10px; }
.grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.cms-cmd { margin: 8px 0 0; padding: 10px 14px; }
.cms-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin: 14px 0; }
.cms-plan.current { border-color: var(--gold); box-shadow: 0 0 0 1px rgba(255,138,76,.3); }
.cms-plan h2 { margin: 0 0 4px; }
.cms-price { font: 700 1.5rem var(--display, inherit); margin: 0 0 12px; color: var(--gold-hi); }
.cms-feats { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 6px; font-size: .92rem; }
.cms-feats li::before { display: inline-block; width: 1.3em; font-weight: 700; }
.cms-feats li.yes::before { content: '✓'; color: #46d39a; }
.cms-feats li.no { color: var(--muted); }
.cms-feats li.no::before { content: '–'; }
.cms-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px 14px; }
.cms-aplans { display: grid; gap: 14px; max-width: 1000px; }
@media (max-width: 640px) { .grid3 { grid-template-columns: 1fr; } }

.grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.cms-icon { width: auto; height: 32px; max-width: 40px; image-rendering: pixelated; vertical-align: middle; }
.cms-icon.big { height: 64px; max-width: 64px; padding: 6px; border: 1px solid var(--line); border-radius: 10px; background: var(--deep); }
.cms-proto { display: flex; flex-wrap: wrap; gap: 6px; max-height: 220px; overflow: auto; }
.cms-proto .btn { gap: 6px; }
.cms-proto img { height: 22px; }
@media (max-width: 900px) { .grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .grid4 { grid-template-columns: 1fr; } }

/* Filele editorului de site, pe grupuri */
.ctabs { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 8px 0 20px; padding: 8px 10px; background: var(--deep); border: 1px solid var(--line); border-radius: var(--r-md); }
.ctab-g { display: flex; align-items: center; gap: 2px; flex-wrap: wrap; }
.ctab-l { font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); margin-right: 6px; font-weight: 700; }
.ctabs .tab { flex: none; padding: .45rem .8rem; }
.tk-thread { display: grid; gap: 10px; }
.tk-msg { border: 1px solid var(--line); border-radius: var(--r-md); padding: 10px 14px; background: var(--deep); max-width: 85%; }
.tk-msg.staff { margin-left: auto; border-color: rgba(255,138,76,.4); }
.cms-kv { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; margin: 0; }
.cms-kv dt { color: var(--muted); }
.cms-kv dd { margin: 0; }
.cms-list { margin: 0; padding-left: 1.2em; display: grid; gap: 6px; }
.pz-pct { min-width: 48px; text-align: right; font-size: .85rem; }

/* Statistici */
.cms-stats { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); margin: 14px 0; }
.cms-stats .stat { display: grid; gap: 2px; }
.trend { font-weight: 700; }
.trend.up { color: #46d39a; } .trend.down { color: #ff8a8a; }
.ch { width: 100%; height: auto; display: block; }
.ch-grid { stroke: var(--line); stroke-width: 1; }
.ch-ax { fill: var(--muted); font: 11px var(--body, sans-serif); }
.ch-hit { fill: transparent; }
.ch-hit:hover { fill: rgba(255,255,255,.05); }
.ch-legend { display: flex; gap: 16px; flex-wrap: wrap; font-size: .88rem; color: var(--soft); }
.ch-legend i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.ch-data summary { cursor: pointer; color: var(--muted); font-size: .88rem; }
.cms-2col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tbl .cms-num { text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 900px) { .cms-2col { grid-template-columns: 1fr; } }
/* CMS: verificarea legaturii domeniului */
.link-checks li { display: flex; gap: 8px; align-items: baseline; }
.link-checks li.ok span { color: #4fbf86; font-weight: 700; }
.link-checks li.bad span { color: #ef5d55; font-weight: 700; }
.link-checks li.bad { color: inherit; }

/* CMS: editorul site-ului — bara laterala, sectiuni, liste scurtate, primii pasi */
.cms-ed { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 28px; align-items: start; margin-top: 10px; }
.cms-side { display: grid; gap: 12px; }
.cs-g { display: grid; gap: 1px; }
.cs-l { margin: 0 0 4px; font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; color: var(--muted); font-weight: 700; }
.cs-item { text-align: left; background: none; border: 0; border-radius: 8px; padding: 5px 10px; color: var(--soft); font: 500 .95rem var(--body, inherit); cursor: pointer; }
.cs-item:hover { background: var(--deep); color: #fff; }
.cs-item.active { background: var(--deep); color: #fff; box-shadow: inset 2px 0 0 var(--gold); }
.cs-item.dim { opacity: .5; }
.cs-locked { margin: 4px 0 0; font-size: .8rem; color: var(--muted); line-height: 1.45; }
button.link { background: none; border: 0; padding: 0; color: var(--gold); cursor: pointer; font: inherit; text-decoration: underline; text-underline-offset: 3px; }
.cms-main { min-width: 0; }
.cms-tabsel { display: none; margin-bottom: 14px; }
.cms-tabsel select { width: 100%; }
.sec-nav { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.sec-nav button { background: var(--deep); border: 1px solid var(--line); color: var(--soft); border-radius: 999px; padding: 7px 14px; font: 500 .9rem var(--body, inherit); cursor: pointer; }
.sec-nav button:hover { color: #fff; }
.sec-nav button.active { border-color: var(--gold); color: #fff; background: rgba(255,138,76,.1); }
.sec-off { display: none !important; }
tr.row-more { display: none; }
.more-rows { margin: 10px 0 0; }
details.ed-more { border: 1px solid var(--line); border-radius: var(--r-md); padding: 10px 14px; background: var(--deep); }
details.ed-more > summary, details.ed-danger > summary { cursor: pointer; font-weight: 600; }
details.ed-more[open] { display: grid; gap: 12px; }
details.ed-danger { margin-top: 14px; }
details.ed-danger[open] { display: grid; gap: 10px; justify-items: start; }
.cms-steps h2 small { font: 500 .85rem var(--body, inherit); margin-left: 6px; }
.cms-steplist { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.cms-steplist li { display: flex; gap: 10px; align-items: center; }
.cms-steplist li > span { width: 22px; height: 22px; flex: none; border-radius: 50%; border: 1px solid var(--line); display: grid; place-items: center; font-size: .8rem; }
.cms-steplist li.ok > span { background: #1f6b46; border-color: #1f6b46; color: #fff; }
.cms-steplist li.ok s { color: var(--muted); }
@media (max-width: 900px) {
  .cms-ed { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .cms-side { display: none; }
  .cms-tabsel { display: block; }
}

/* Antetul panelului: emailul ascuns pe ecrane sub 1600px (apare la „Iesi din cont”), ca meniul sa nu iasa din pagina */
@media (min-width: 901px) and (max-width: 1599px) { .nav-user .who { display: none; } }

/* Rotunjirile de un pixel nu mai dau bara de derulare orizontala */
html { overflow-x: clip; }
.cms-theme .ct-style { color: var(--text); font-size: .8rem; line-height: 1.35; opacity: .85; }

/* Administrare: palnia clientilor */
.funnel-card { margin: 6px 0 14px; padding: 0; }
.funnel-card > summary { padding: 14px 16px; cursor: pointer; font-weight: 600; }
.funnel-card > div { padding: 0 16px 16px; }
.funnels { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin: 12px 0 18px; }
.fnl { border: 1px solid var(--line); border-radius: var(--r-md); padding: 12px 14px; background: var(--surface-2); }
.fnl h3 { margin: 0 0 8px; font-size: 1rem; }
.fnl ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.fnl li { display: grid; grid-template-columns: 1fr auto 48px; gap: 10px; align-items: baseline; font-size: .93rem; }
.fnl li b { font-variant-numeric: tabular-nums; color: var(--gold-hi); }
.fnl li small { text-align: right; color: var(--muted); font-variant-numeric: tabular-nums; }
.pub-stats { display: grid; gap: 10px; border-top: 1px solid var(--line); padding-top: 14px; }
.pub-stats h3 { margin: 0; font-size: 1rem; }
.pub-stats ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: .93rem; }
.pub-stats li.off { color: var(--muted); text-decoration: line-through; }
.pub-stats li.on b { color: var(--mint); }
.pub-stats .btn { justify-self: start; }

/* Fila Forum din editorul site-ului: arborele de sectiuni si gradele */
.fo-tree { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.fo-b { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--surface-2); }
.fo-b.d0 { background: var(--deep); }
.fo-b.d1 { margin-left: 22px; } .fo-b.d2 { margin-left: 44px; }
.fo-b .grow { min-width: 0; }
.fo-b .actions { flex-shrink: 0; flex-wrap: wrap; justify-content: flex-end; }
.fo-ic { width: 26px; text-align: center; font-size: 1.1rem; line-height: 1.4; }
.fo-b-form, .fo-form { list-style: none; border: 1px solid var(--gold); border-radius: var(--r-md); padding: 14px; background: var(--deep); }
@media (max-width: 700px) { .fo-b { flex-wrap: wrap; } .fo-b.d1 { margin-left: 10px; } .fo-b.d2 { margin-left: 20px; } }
/* Alegerea culorii (grade de forum, VIP): un patrat vizibil, nu o linie */
input[type=color] { height: 44px; min-width: 64px; padding: 4px; cursor: pointer; }
.rep input[type=color] { flex: 0 0 64px; }

/* Evenimente gata facute */
.ev-pres { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }
.ev-pre { display: grid; gap: 2px; align-content: start; text-align: left; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--deep); color: inherit; font: inherit; cursor: pointer; transition: border-color .15s ease, transform .15s ease; }
.ev-pre small { color: var(--muted, inherit); opacity: .8; }
.ev-pre:hover:not(:disabled) { border-color: var(--gold); }
.ev-pre:active:not(:disabled) { transform: scale(.98); }
.ev-pre:disabled { opacity: .55; cursor: not-allowed; }

/* Bannerul din fila Evenimente */
.bn-canvas { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: var(--r-md); }
