/* Admin dashboard - utilitarian, but on-brand (reuses the public site's gold/plum tokens from styles.css) */
.admin{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}
.admin__side{background:var(--plum);color:#f2e7db;padding:1.4rem 1rem;display:flex;flex-direction:column;position:sticky;top:0;align-self:start;height:100vh}
.admin__side .logo{margin-bottom:1.6rem;padding:0 .4rem}
.admin__side .logo-img{height:34px}
.admin-search{position:relative;margin:0 .3rem 1.2rem}
.admin-search input{width:100%;padding:.6rem .8rem;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;font-family:var(--body);font-size:.85rem}
.admin-search input::placeholder{color:rgba(242,231,219,.55)}
.admin-search input:focus{outline:2px solid var(--brand);background:rgba(255,255,255,.14)}
.admin-search__results{position:absolute;top:calc(100% + .4rem);left:0;width:320px;max-height:70vh;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px -20px rgba(0,0,0,.5);z-index:100;padding:.5rem}
.admin-search__group-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);padding:.5rem .6rem .2rem}
.admin-search__item{display:flex;gap:.6rem;align-items:flex-start;padding:.5rem .6rem;border-radius:10px;color:var(--ink)}
.admin-search__item:hover{background:var(--paper-2)}
.admin-search__item b{display:block;font-size:.88rem;font-weight:700}
.admin-search__item small{display:block;color:var(--ink-soft);font-size:.76rem}
.admin-search__empty{padding:.8rem .6rem;color:var(--ink-soft);font-size:.85rem}

.admin__nav{flex:1;display:flex;flex-direction:column;overflow-y:auto}
.admin__nav-group ul{list-style:none;display:flex;flex-direction:column;gap:.2rem}
.admin__nav-label{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(242,231,219,.45);padding:.9rem .8rem .35rem}
.admin__nav-group:first-child .admin__nav-label{padding-top:.2rem}
.admin__nav a{display:flex;align-items:center;gap:.6rem;padding:.65rem .8rem;border-radius:10px;font-weight:600;font-size:.92rem;color:#e6d6de}
.admin__nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.admin__nav a[aria-current="page"]{background:var(--brand);color:var(--brand-ink)}
.badge-count{margin-left:auto;background:var(--accent);color:#fff;font-size:.68rem;font-weight:800;border-radius:999px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;line-height:1}
.admin__nav a[aria-current="page"] .badge-count{background:#fff;color:var(--accent)}
.admin__logout{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.12)}
.admin__logout button{background:none;border:1px solid rgba(255,255,255,.25);color:#f2e7db;padding:.6rem .9rem;border-radius:10px;font-weight:600;font-size:.88rem;cursor:pointer;width:100%}
.admin__logout button:hover{background:rgba(255,255,255,.08)}
.admin__main{padding:clamp(1rem,3vw,2.4rem);background:var(--paper);min-height:100vh;min-width:0}
.admin__header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem;margin-bottom:1.8rem}
.admin__header h1{font-family:var(--display);font-size:clamp(1.5rem,3vw,2.1rem)}
.admin__header p{color:var(--ink-soft);margin-top:.3rem}

.alerts-zone{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.8rem}
.alerts-zone__title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:.2rem}
.alert-card{display:flex;align-items:center;gap:.8rem;background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;padding:.85rem 1.2rem;text-decoration:none;color:var(--ink);transition:transform .12s,box-shadow .12s}
.alert-card:hover{transform:translateX(2px);box-shadow:0 4px 14px rgba(0,0,0,.07)}
.alert-card--info{border-left-color:var(--brand)}
.alert-card__icon{font-size:1.25rem;flex:none}
.alert-card__text{font-weight:600;font-size:.9rem;flex:1}
.alert-card__arrow{color:var(--ink-soft);font-size:1.05rem}
.alerts-empty{display:flex;align-items:center;gap:.6rem;background:#e2f8ea;color:#1b7a43;border-radius:12px;padding:.85rem 1.2rem;font-weight:600;font-size:.88rem;margin-bottom:1.8rem}

.today-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.8rem}
.today-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:.9rem 1.2rem}
.today-card__eyebrow{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}
.today-card b{display:block;font-family:var(--display);font-size:1.6rem;color:var(--ink);margin-top:.15rem}

.dash-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.8rem;align-items:start}
.section-title{font-family:var(--display);font-size:1.1rem}
.side-list{display:flex;flex-direction:column;gap:.7rem}
.side-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem;display:flex;flex-direction:column;gap:.25rem}
.side-item b{font-size:.9rem;line-height:1.3}
.side-item span{font-size:.78rem;color:var(--ink-soft);font-weight:600}
@media(max-width:980px){.dash-grid{grid-template-columns:1fr}}

.report-section{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.4rem 1.6rem;margin-bottom:1.6rem}
.report-section h2{font-family:var(--display);font-size:1.15rem;margin-bottom:1.1rem}
.bar-row{display:grid;grid-template-columns:130px 1fr 100px;align-items:center;gap:.9rem;margin-bottom:.6rem;font-size:.85rem}
.bar-row .bar-label{font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-track{background:var(--paper-2);border-radius:999px;height:14px;overflow:hidden}
.bar-fill{height:100%;background:linear-gradient(90deg,var(--brand),var(--accent));border-radius:999px;min-width:3px}
.bar-value{text-align:right;font-weight:700;color:var(--ink);white-space:nowrap}
.bar-row--link{text-decoration:none;color:inherit;border-radius:8px;transition:background .12s}
.bar-row--link:hover{background:var(--paper-2)}
.report-empty{color:var(--ink-soft);font-size:.9rem;text-align:center;padding:1rem 0}

.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.4rem}
.stat-card b{display:block;font-family:var(--display);font-size:1.9rem;color:var(--ink)}
.stat-card span{font-size:.85rem;color:var(--ink-soft);font-weight:600}

.admin-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.admin-table th,.admin-table td{padding:.75rem 1rem;text-align:left;font-size:.9rem;border-bottom:1px solid var(--line)}
.admin-table th{background:var(--paper-2);font-weight:700;color:var(--ink-soft);text-transform:uppercase;font-size:.72rem;letter-spacing:.05em}
.admin-table tr:last-child td{border-bottom:0}
.admin-table tr:hover td{background:color-mix(in srgb,var(--brand) 6%,transparent)}
.admin-table .num{text-align:right}

.datagrid__th--sortable{cursor:pointer;user-select:none;position:relative;padding-right:1.4rem}
.datagrid__th--sortable:hover{color:var(--ink)}
.datagrid__th--sortable::after{content:'⇅';position:absolute;right:.5rem;opacity:.35;font-size:.85em}
.datagrid__th--asc::after{content:'↑';opacity:1;color:var(--accent)}
.datagrid__th--desc::after{content:'↓';opacity:1;color:var(--accent)}

.datagrid__pager{display:flex;align-items:center;justify-content:flex-end;gap:.9rem;margin-top:1rem}
.datagrid__pager-info{font-size:.82rem;color:var(--ink-soft)}
.datagrid__pager button{padding:.4em .9em;font-size:.85rem}
.datagrid__pager button:disabled{opacity:.4;cursor:default}

.grid-kebab{background:none;border:none;font-size:1.15rem;line-height:1;padding:.25em .55em;border-radius:7px;color:var(--ink-soft);cursor:pointer}
.grid-kebab:hover{background:var(--paper-2);color:var(--ink)}
.grid-kebab__menu{position:fixed;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px -10px rgba(0,0,0,.25);min-width:190px;padding:.4rem;display:flex;flex-direction:column;gap:.1rem;z-index:200}
.grid-kebab__menu a,.grid-kebab__menu button{display:block;width:100%;text-align:left;padding:.55em .7em;border-radius:8px;border:none;background:none;font:inherit;font-size:.85rem;color:var(--ink);cursor:pointer;text-decoration:none}
.grid-kebab__menu a:hover,.grid-kebab__menu button:hover{background:var(--paper-2)}
.grid-kebab__menu form{margin:0}
.admin-table img.thumb{width:44px;height:44px;object-fit:cover;border-radius:8px}
.admin-table tr[data-href]{cursor:pointer}
.side-item[data-href]{cursor:pointer}

.admin-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.2rem}
.admin-toolbar select{padding:.5rem .8rem;border-radius:10px;border:1px solid var(--line);font-family:var(--body)}

.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;width:100%}
.filter-bar input[type="search"]{flex:1 1 220px;min-width:160px;padding:.55rem .8rem;border-radius:10px;border:1px solid var(--line);font-family:var(--body);font-size:.9rem}
.filter-bar label{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--ink-soft);font-weight:600;white-space:nowrap}
.filter-bar input[type="date"],.filter-bar select{padding:.5rem .7rem;border-radius:10px;border:1px solid var(--line);font-family:var(--body);font-size:.85rem}
@media(max-width:700px){.filter-bar{flex-direction:column;align-items:stretch}.filter-bar label{justify-content:space-between}.filter-bar input[type="search"]{flex:none;width:100%;min-width:0}.filter-bar label input,.filter-bar label select{flex:1;min-width:0;max-width:65%}}

.badge{display:inline-flex;align-items:center;gap:.35em;font-size:.72rem;font-weight:700;padding:.25em .65em;border-radius:999px}
.badge--ok{background:#e2f8ea;color:#1b7a43}
.badge--low{background:#ffe3e9;color:#b8123f}
.badge--soldout{background:#2a1219;color:#ff9fb0}

.admin-split{display:grid;grid-template-columns:minmax(0,620px) minmax(340px,440px);gap:1.8rem;align-items:start}
.admin-preview{position:sticky;top:1.4rem}
.admin-preview__label{font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.7rem}
.admin-preview__stage{background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:1.6rem}
.admin-preview__stage--dark{background:var(--plum-2)}
.course-card--preview{grid-template-columns:1fr;max-width:400px;margin:0 auto}
.course-card--preview .course-card__media{aspect-ratio:16/10}
.show--preview{max-width:380px;margin:0 auto}
.post--preview{max-width:400px;margin:0 auto}
@media(max-width:1200px){
  .admin-split{grid-template-columns:1fr}
  .admin-preview{position:static}
}

.booking-detail-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:1.8rem;align-items:start}
.booking-detail-col{display:flex;flex-direction:column}
.course-detail__tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.8rem}
.booking-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.4rem}
.booking-panel__poster{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;margin-bottom:.9rem}
.booking-panel h2{font-family:var(--display);font-size:1.2rem;margin-bottom:.3rem}
.booking-panel__meta{font-size:.85rem;color:var(--ink-soft);line-height:1.5;margin-bottom:1rem}
.booking-panel__row{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;font-weight:600;color:var(--ink-soft);margin-bottom:.5rem}
.booking-panel__sep{border:0;border-top:1px solid var(--line);margin:1rem 0}
.booking-panel__field{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.75rem;font-size:.85rem}
.booking-panel__field span{color:var(--ink-soft);font-weight:600;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}
.booking-panel__field b{font-size:.95rem}
.booking-panel__actions{display:flex;flex-direction:column;gap:.6rem;margin-top:1.2rem}
.booking-panel__actions form{display:contents}
.booking-panel__actions .btn{width:100%}

.booking-stage{padding:1.4rem}
.booking-stage .legend span{color:#f2e7db}

.seat-configurator{margin:1.6rem 0}
.seat-toolbar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}
.seat-toolbar input[type=number]{width:70px;padding:.4em .6em;border-radius:8px;border:1px solid var(--line)}
.seat-configurator__count{font-weight:700;color:var(--ink-soft);margin-left:auto}
.edit-seats-bar{margin-top:1rem;background:rgba(255,255,255,.06);border-radius:12px;padding:1rem;text-align:center}
.edit-seats-bar p{color:#f2e7db;font-size:.85rem;margin-bottom:.7rem}
.edit-seats-bar__actions{display:flex;align-items:center;justify-content:center;gap:.7rem;flex-wrap:wrap}
.edit-seats-error{color:#ff9fb0;font-size:.82rem;font-weight:600}
@media(max-width:1100px){.booking-detail-grid{grid-template-columns:1fr}}

.invitation-wrap{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}
.invitation-card{width:min(420px,92vw);background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 30px 70px -30px rgba(0,0,0,.35)}
.invitation-card__header{background:var(--plum);padding:1.4rem 2.2rem;text-align:center}
.invitation-card__logo{height:34px;margin-bottom:.6rem}
.invitation-card__eyebrow{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--brand);margin:0}
.invitation-card__body{padding:1.8rem 2.2rem 2.2rem;text-align:center}
.invitation-card h1{font-family:var(--display);font-size:1.5rem;margin-bottom:.5rem}
.invitation-card__meta{color:var(--ink-soft);font-size:.9rem;line-height:1.6;margin-bottom:1.2rem}
.invitation-card__notch-row{position:relative;height:0;border-top:2px dashed var(--line);margin:0 -2.2rem 1.2rem}
.invitation-card__notch{position:absolute;top:50%;width:26px;height:26px;border-radius:50%;background:var(--paper-2);transform:translateY(-50%)}
.invitation-card__notch--left{left:-13px}
.invitation-card__notch--right{right:-13px}
.invitation-card__row{display:flex;justify-content:space-between;font-size:.92rem;margin-bottom:.5rem;text-align:left}
.invitation-card__row span{color:var(--ink-soft);font-weight:600}
.invitation-card__qr{width:180px;height:180px;margin:1.4rem auto .8rem;display:block}
.invitation-card__note{font-size:.8rem;color:var(--ink-soft);line-height:1.5}
@media print{
  .no-print{display:none}
  body{background:#fff}
  .invitation-card{box-shadow:none}
  .invitation-card__notch{background:#fff}
}

.message-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;align-items:start}
.message-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(1.4rem,3vw,2rem);height:100%}
.message-panel__label{font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1rem}
.message-detail__meta{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:.8rem;font-size:.9rem}
.message-detail__date{color:var(--ink-soft);font-size:.8rem}
.message-detail__subject{margin-bottom:.6rem}
.message-detail__body{white-space:pre-wrap;line-height:1.6;background:var(--paper-2);border-radius:12px;padding:1rem 1.2rem;margin-bottom:1rem}
.message-detail__body--big{font-size:1.05rem;min-height:220px;padding:1.4rem}
.message-detail__reply{background:#eef7f0;border-radius:12px;padding:1rem 1.2rem;margin-bottom:1.2rem}
.message-detail__reply-label{font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#1b7a43;margin-bottom:.4rem}
.message-detail__form textarea{min-height:260px;font-size:1rem;line-height:1.6}
@media(max-width:900px){.message-detail-grid{grid-template-columns:1fr}}

.admin-form{max-width:760px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(1.4rem,3vw,2rem)}
.admin-form .grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.admin-form .field{margin-bottom:1rem;display:flex;flex-direction:column;gap:.35rem}
.admin-form label{font-weight:600;font-size:.88rem}
.admin-form input,.admin-form select,.admin-form textarea{font-family:var(--body);font-size:.95rem;padding:.65rem .8rem;border:1px solid var(--line);border-radius:10px}
.admin-form small{color:var(--ink-soft);font-size:.8rem}
.admin-form .current-poster{width:90px;height:90px;object-fit:cover;border-radius:10px;margin-bottom:.5rem}
.admin-form .actions{display:flex;gap:.7rem;margin-top:1.4rem}
.admin-form .actions form{margin-left:auto}

.wizard-steps{display:flex;align-items:flex-start;max-width:620px;margin-bottom:1.6rem}
.wizard-step-dot{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:none;border:none;padding:0;flex:none;cursor:pointer}
.wizard-step-dot__num{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.85rem;background:#fff;border:2px solid var(--line);color:var(--ink-soft);transition:background .15s,border-color .15s,color .15s}
.wizard-step-dot__label{font-size:.74rem;font-weight:600;color:var(--ink-soft);white-space:nowrap}
.wizard-step-dot--done .wizard-step-dot__num{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.wizard-step-dot--done .wizard-step-dot__label{color:var(--ink)}
.wizard-step-dot--active .wizard-step-dot__num{border-color:var(--accent);color:var(--accent)}
.wizard-step-dot--active .wizard-step-dot__label{color:var(--ink);font-weight:700}
.wizard-step-dot--upcoming{cursor:default}
.wizard-step-dot--upcoming .wizard-step-dot__num,.wizard-step-dot--upcoming .wizard-step-dot__label{opacity:.5}
.wizard-step-line{flex:1 1 auto;height:2px;background:var(--line);margin:15px .5rem 0;min-width:16px}
.wizard-nav{display:flex;align-items:center;gap:.7rem;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.wizard-review dl{display:grid;grid-template-columns:170px 1fr;gap:.55rem 1rem;font-size:.9rem;margin:0}
.wizard-review dt{color:var(--ink-soft);font-weight:600}
.wizard-review dd{color:var(--ink);margin:0}
.wizard-review dt.section-title{grid-column:1/-1;margin-top:1.1rem;color:var(--ink)}
.wizard-review dt.section-title:first-child{margin-top:0}
@media(max-width:480px){.wizard-step-dot__label{display:none}}

.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--plum)}
.login-card{width:min(380px,92vw);background:var(--paper);border-radius:20px;padding:2.2rem;box-shadow:0 30px 70px -30px rgba(0,0,0,.6)}
.login-card .logo{justify-content:center;margin:0 auto 1.4rem;background:var(--plum);padding:.9rem 1.4rem;border-radius:14px;width:fit-content}
.login-card h1{font-size:1.4rem;margin-bottom:1.2rem;text-align:center}
.login-card .field{margin-bottom:1rem;display:flex;flex-direction:column;gap:.35rem}
.login-card label{font-weight:600;font-size:.88rem}
.login-card input{font-family:var(--body);font-size:1rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px}
.login-error{background:#ffe3e9;color:#b8123f;border-radius:10px;padding:.7rem .9rem;font-size:.88rem;margin-bottom:1rem}

.flash-ok{background:#e2f8ea;color:#1b7a43;border-radius:10px;padding:.8rem 1rem;font-weight:600;font-size:.9rem;margin-bottom:1.4rem}
.flash-err{background:#ffe3e9;color:#b8123f;border-radius:10px;padding:.8rem 1rem;font-weight:600;font-size:.9rem;margin-bottom:1.4rem}

.admin__menu-btn{display:none}
@media(max-width:820px){
  .admin{grid-template-columns:minmax(0,1fr)}
  .admin__side{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.6rem;padding:.6rem 1rem;height:auto;overflow:visible}
  .admin__side .logo{margin:0}
  .admin__side .logo-img{height:34px;width:auto}
  .admin__menu-btn{display:inline-flex;justify-self:end;align-items:center;gap:.4rem;background:#f5b324;color:#241015;border:0;border-radius:999px;padding:.55rem 1rem;font:inherit;font-weight:800;cursor:pointer}
  .admin__side:not(.is-open) .admin-search,.admin__side:not(.is-open) .admin__nav,.admin__side:not(.is-open) .admin__logout{display:none}
  .admin__side.is-open{max-height:100vh;overflow-y:auto}
  .admin-search,.admin__nav,.admin__logout{grid-column:1/-1}
  .admin-search{width:auto;margin:.2rem 0}
  .admin-search__results{width:100%}
  .admin__nav{display:block;overflow:visible}
  .admin__nav-group ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.1rem .6rem}
  .admin__nav-label{display:block}
  .admin__logout{margin:.6rem 0 0;padding:.6rem 0 0}
  .admin-form .grid2{grid-template-columns:1fr}
  .admin__main table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
  .admin__header{flex-wrap:wrap;gap:.8rem}
  .admin__header h1{font-size:clamp(1.35rem,6vw,2rem);overflow-wrap:anywhere}
}

/* Editor rețele sociale (Setări site) */
.social-row{display:flex;gap:.5rem;margin-bottom:.5rem}
.social-row select{flex:0 0 150px}
.social-row input{flex:1;min-width:0}
.social-row .social-del{flex:0 0 auto;width:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink-soft);cursor:pointer;font-size:.95rem}
.social-row .social-del:hover{border-color:var(--accent);color:var(--accent)}

/* check-in */
.checkin-scanner{position:relative;aspect-ratio:1;max-width:420px;background:#111;border-radius:16px;overflow:hidden}
.checkin-scanner video{width:100%;height:100%;object-fit:cover;display:block}
.checkin-scanner__frame{position:absolute;inset:12%;border:3px solid rgba(255,255,255,.85);border-radius:14px;box-shadow:0 0 0 999px rgba(0,0,0,.35);pointer-events:none}
.checkin-result{display:flex;gap:1rem;align-items:center;padding:1.2rem 1.4rem;border-radius:16px;color:#fff}
.checkin-result--ok{background:#1b7a43}.checkin-result--dup{background:#b8123f}.checkin-result--warn{background:#8a5a00}
.checkin-result__icon{font-size:2.4rem}

fieldset.field{border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem}
fieldset.field legend{font-size:.85rem;font-weight:700;padding:0 .4rem}
.check-row{display:flex;flex-wrap:wrap;gap:.4rem}
.check-pill{display:inline-flex;align-items:center;gap:.35em;font-size:.82rem;padding:.3em .7em;border:1px solid var(--line);border-radius:999px;cursor:pointer;background:var(--paper)}
.check-pill:has(input:checked){background:var(--brand);border-color:var(--brand);color:var(--brand-ink);font-weight:700}
.check-pill input{margin:0}
/* cropper postere / imagini */
.cropper{margin-top:.6rem;display:grid;gap:.5rem;max-width:640px}
.cropper__frame{border-radius:12px;overflow:hidden;border:2px dashed #CE7A0E;background:#1a0b12}
.cropper__frame canvas{display:block;width:100%;height:auto;cursor:grab;touch-action:none}
.cropper__frame canvas:active{cursor:grabbing}
.cropper__bar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.cropper__bar label{display:flex;gap:.5rem;align-items:center;font-size:.85rem}
.cropper__bar input[type=range]{width:180px}
/* panou detectiv */
.board-admin__note{max-width:760px;margin-bottom:1.6rem}
.board-admin__h{font-size:1.15rem;margin:1.6rem 0 .8rem}
.board-admin__empty{color:#8a7c66}
.board-admin__list{display:grid;gap:1rem}
.board-admin__item{display:grid;grid-template-columns:200px 1fr;gap:1.2rem;align-items:start;padding:1rem;border:1px solid rgba(0,0,0,.08);border-radius:14px;background:#fff;max-width:980px}
.board-admin__item--new{border-style:dashed}
.board-admin__photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:8px;margin-bottom:.5rem}
.board-admin__photo>span{display:grid;place-items:center;aspect-ratio:4/5;background:#f2ece0;border-radius:8px;color:#8a7c66;margin-bottom:.5rem}
.board-admin__photo{min-width:0}.board-admin__photo .cropper{max-width:100%}.board-admin__photo .cropper__bar{flex-direction:column;align-items:stretch}
.board-admin__actions{display:flex;flex-wrap:wrap;gap:.5rem}
.board-admin__del{color:#b3121b}
@media(max-width:700px){.board-admin__item{grid-template-columns:1fr}.board-admin__photo{max-width:240px}}
/* jam-uri */
.jam-adm__h{font-size:1.1rem;margin:1.6rem 0 .6rem}
.jam-adm__form{max-width:860px}
.jam-adm__check{display:flex;gap:.5rem;align-items:center;margin:.4rem 0;font-weight:600}
.jam-adm__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:0 0 1.2rem}
.jam-adm__stats div{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:12px 14px}
.jam-adm__stats b{display:block;font-size:1.6rem}.jam-adm__stats span{font-size:.82rem;color:#8a7c66}
.jam-adm__box{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:16px 18px;margin:0 0 1.2rem}
.jam-adm__box h2{font-size:1.15rem;margin:0 0 .4rem}
.jam-adm__boxhead{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem}
.jam-adm__msgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:12px}
.jam-adm__msg{display:grid;gap:.4rem}.jam-adm__msg textarea{width:100%;font:inherit;font-size:.88rem;border-radius:10px;border:1px solid rgba(0,0,0,.15);padding:8px}
.jam-adm__msg-btns{display:flex;gap:.4rem;flex-wrap:wrap}
.jam-adm__add{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;background:#f6efe2;border-radius:12px;padding:10px 12px;margin-bottom:.8rem;font-size:.9rem}
.jam-adm__add input{padding:.5em .7em;border-radius:8px;border:1px solid rgba(0,0,0,.15)}
.jam-adm__off{opacity:.5}
.jam-adm__games{padding-left:1.4rem;display:grid;gap:8px}
.jam-adm__game{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.08)}
.jam-adm__game p{margin:.3rem 0;font-size:.9rem}
.jam-adm__game--accepted{background:#ecfbef}.jam-adm__game--rejected{opacity:.5}.jam-adm__game--done{background:#f3ecff}
.jam-adm__gbtns{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:flex-end;max-width:360px}
.jam-adm__gbtns .btn{padding:.35em .7em;font-size:.82rem}
@media(max-width:700px){.jam-adm__game{flex-direction:column}.jam-adm__gbtns{justify-content:flex-start}}
.jam-adm__concepts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:10px}
.jam-adm__concept{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:12px 14px;color:inherit;text-decoration:none}
.jam-adm__concept-emoji{font-size:2rem;text-align:center}
.jam-adm__concept-btns{grid-column:1/-1;display:flex;gap:.4rem}
.jam-adm__concept--new{border-style:dashed}
.adm-pwa{position:fixed;left:10px;right:10px;bottom:10px;z-index:200;display:grid;gap:.4rem;padding:14px 16px;border-radius:16px;background:#241019;color:#fff;box-shadow:0 20px 40px -10px rgba(0,0,0,.5);font-size:.92rem}
.adm-pwa--pc{left:auto;right:18px;bottom:18px;max-width:400px}
.adm-pwa div{display:flex;gap:.5rem;margin-top:.2rem}.adm-pwa .btn:not(.btn--primary){background:rgba(255,255,255,.12);color:#fff}
.cap-cell{white-space:nowrap}.cap{display:inline-block;margin:0 .3rem .2rem 0;padding:.15rem .55rem;border-radius:999px;font-size:.82rem;font-weight:700}
.cap--ok{background:#e7f5ea;color:#1f6b35}.cap--low{background:#fff4dc;color:#8a5a00}.cap--full{background:#fde7ea;color:#a3122f}
.badge--mid{background:#fff4dc;color:#8a5a00}
.sign-pad{max-width:760px}
.sign-pad__area{position:relative;height:240px;background:#fff;border:2px dashed #d8cbb8;border-radius:16px;touch-action:none;overflow:hidden}
.sign-pad__area canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:none}
.sign-pad__hint{position:absolute;left:0;right:0;top:40%;text-align:center;color:#b5a790;pointer-events:none;font-size:.95rem}
.sign-pad.has-ink .sign-pad__hint{display:none}
.sign-pad__line{position:absolute;left:8%;right:8%;bottom:28%;border-bottom:1px solid #cdbfa8;pointer-events:none}
.sign-pad__actions{display:flex;gap:.6rem;margin-top:.8rem;flex-wrap:wrap}
.sign-pad__msg{color:#b8123f;font-weight:600;margin:.5rem 0 0}
.sig-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:1rem}
.sig-card{display:flex;flex-direction:column;gap:.45rem}
.sig-card__img{height:90px;display:grid;place-items:center;background:#fffdf8;border:1px solid #eee4d4;border-radius:12px}
.sig-card__img img{max-height:80px;max-width:90%}.sig-card__img span{color:#b5a790;font-size:.9rem}
.sig-card small{color:#8a7c66}.sig-card__actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.3rem}
.sig-card__edit{display:grid;gap:.35rem}
.sig-link{display:grid;gap:.6rem;margin-bottom:1.2rem;background:#241019;color:#fff}.sig-link input{width:100%}.sig-link .actions{display:flex;gap:.5rem}
.sign-public{background:#f6f1e6;min-height:100vh;display:grid;place-items:center;padding:20px;font-family:"Hanken Grotesk",system-ui,sans-serif}
.sign-public__box{background:#fff;border-radius:22px;padding:28px;max-width:820px;width:100%;box-shadow:0 20px 50px -25px rgba(0,0,0,.35)}
.sign-public__logo{height:48px;background:#241019;padding:8px 12px;border-radius:10px}
.btn--sm{padding:.4em .85em;font-size:.85rem}
.dpl-form{display:grid;gap:1.1rem;max-width:760px}
.dpl-signers{background:#fffdf8;border:1px solid #eee4d4;border-radius:12px;padding:.8rem 1rem;display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center}
.dpl-signers .ok{color:#1f6b35;font-weight:600}.dpl-signers .miss{color:#8a5a00;font-weight:600}
.dpl-designs{display:flex;gap:1rem;flex-wrap:wrap;border:0;padding:0}.dpl-designs legend{font-weight:700;margin-bottom:.5rem}
.dpl-design{display:grid;gap:.35rem;cursor:pointer;text-align:center}.dpl-design input{position:absolute;opacity:0}
.dpl-design em{font-style:normal;font-weight:600;font-size:.9rem}
.dpl-thumb{width:170px;height:120px;border-radius:10px;display:grid;place-content:center;gap:.3rem;border:3px solid transparent;box-shadow:0 6px 16px -10px rgba(0,0,0,.4)}
.dpl-design input:checked+.dpl-thumb{border-color:#e11d48}
.dpl-thumb i{font-style:normal;font-size:.7rem;letter-spacing:.3em;font-weight:800}.dpl-thumb b{font-family:Georgia,serif;font-style:italic;font-size:1rem}
.dpl-thumb--clasic{background:#fbf5e6;color:#5b3a12;outline:2px solid #b98a2e;outline-offset:-9px}
.dpl-thumb--scena{background:radial-gradient(circle at 50% 0,#5a1636,#241019 70%);color:#f7c04a}.dpl-thumb--scena b{color:#fff}
.dpl-thumb--modern{background:linear-gradient(115deg,#fff 62%,#fb3b64 62% 74%,#f7c04a 74%);color:#241019}
.flash-err{background:#fde7ea;color:#a3122f;padding:.7rem 1rem;border-radius:10px}
.tr-card{margin-bottom:1.2rem}.tr-card__head{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:center;justify-content:space-between;margin-bottom:.8rem}
.tr-card__head h2{margin:0;font-size:1.25rem}.tr-kpis{display:flex;flex-wrap:wrap;gap:.5rem}
.tr-kpis span{background:#f6f1e6;border-radius:999px;padding:.3rem .8rem;font-size:.88rem}.tr-kpis .ok{background:#e7f5ea;color:#1f6b35}.tr-kpis .mid{background:#fff4dc;color:#8a5a00}.tr-kpis .low{background:#fde7ea;color:#a3122f}
.tr-h3{font-size:1rem;margin:1rem 0 .4rem}.tr-abs{margin:0;padding-left:1.1rem;display:grid;gap:.3rem;font-size:.92rem}.tr-abs .missed{color:#a3122f}
.dsg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:1rem}
.dsg-card{display:grid;gap:.5rem}.dsg-card__thumb{aspect-ratio:297/210;border-radius:10px;display:grid;place-items:center;border:1px solid #eee4d4}
.dsg-card__thumb span{font-family:Georgia,serif;font-weight:800;letter-spacing:.15em;font-size:1.3rem}
.dsg-name{font:inherit;border:0;background:transparent;border-bottom:2px dashed #d8cbb8;width:min(520px,70vw)}
.dsg-editor{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.2rem;align-items:start}
.dsg-stage{position:relative;overflow:hidden;border-radius:10px;box-shadow:0 12px 30px -16px rgba(0,0,0,.45);background:#eee;touch-action:none}
.dsg-stage .sheet{box-shadow:none}
.dsg-stage [data-el]{cursor:grab;outline:1px dashed transparent;outline-offset:1.5mm}
.dsg-stage [data-el]:hover{outline-color:rgba(225,29,72,.45)}
.dsg-stage [data-el].is-sel{outline:2px solid #e11d48}
.dsg-panel{display:grid;gap:.7rem;position:sticky;top:1rem}.dsg-panel h3{margin:0;font-size:1rem}
.dsg-panel label{display:grid;gap:.3rem;font-size:.9rem;font-weight:600}.dsg-panel input[type=color]{width:100%;height:38px;border-radius:8px;border:1px solid #e3d6c3}
.dsg-panel .dsg-check{display:flex;gap:.5rem;align-items:center}.dsg-panel hr{border:0;border-top:1px solid #eee4d4;width:100%}
.dsg-bg{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
@media(max-width:900px){.dsg-editor{grid-template-columns:1fr}.dsg-panel{position:static}}
.dpl-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:1.4rem;align-items:start}
.dpl-preview{position:sticky;top:1rem;display:grid;gap:.4rem}
.dpl-preview iframe{width:100%;aspect-ratio:297/210;border:0;border-radius:10px;box-shadow:0 12px 30px -16px rgba(0,0,0,.45);background:#eee}
.dpl-trainers{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.3rem .8rem;max-height:220px;overflow:auto;padding:.6rem;border:1px solid #eee4d4;border-radius:10px;background:#fffdf8}
.dpl-tr{display:flex;gap:.4rem;align-items:center;font-weight:500;font-size:.9rem}.dpl-tr.is-course{font-weight:700}.dpl-tr em{color:#8a5a00;font-style:normal;font-size:.8rem}
.dpl-founder{margin:.5rem 0 0;font-size:.9rem}.dpl-founder em{color:#8a5a00;font-style:normal}
.dpl-design-list{display:flex;flex-wrap:wrap;gap:.4rem}
.dpl-chip input{position:absolute;opacity:0}.dpl-chip span{display:inline-block;padding:.45rem .9rem;border-radius:999px;border:1px solid #e3d6c3;background:#fff;cursor:pointer;font-size:.9rem;font-weight:600}
.dpl-chip input:checked+span{background:#241019;color:#f7c04a;border-color:#241019}.dpl-chip--own span{border-style:dashed}
@media(max-width:1000px){.dpl-layout{grid-template-columns:1fr}.dpl-preview{position:static}}
.stock-table td.stock-low,.stock-low{color:#a3122f;font-weight:800}
.stock-transfer{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:1.2rem}
.stock-locs{display:flex;flex-wrap:wrap;gap:.6rem}.stock-loc{display:flex;gap:.5rem;align-items:center;background:#fff;border:1px solid #eee4d4;border-radius:12px;padding:.4rem .5rem .4rem .8rem}.stock-loc.off{opacity:.55}
.stock-prod input,.stock-prod select{padding:.35rem .5rem;font-size:.9rem}
.scan-wrap{max-width:640px;display:grid;gap:1rem}
.scan-cam{display:grid;gap:.6rem}.scan-cam video{width:100%;max-height:300px;object-fit:cover;border-radius:14px;background:#241019;display:none}.scan-cam video.on{display:block}
.scan-manual{display:flex;gap:.5rem}.scan-manual input{flex:1;font-size:1.05rem;letter-spacing:.06em}
.scan-tip{margin:-.4rem 0 0;font-size:.85rem}
.scan-card{background:#fff;border:2px solid #f7c04a;border-radius:16px;padding:1rem;display:grid;gap:.8rem;box-shadow:0 14px 30px -18px rgba(0,0,0,.4)}
.scan-card__head{display:flex;gap:.8rem;align-items:center}.scan-card__head img{width:56px;height:56px;object-fit:contain;border-radius:8px;background:#f6f1e6}
.scan-card__head b{display:block;font-size:1.15rem}.scan-card__head small{color:#8a7c66}
.scan-new{display:grid;gap:.5rem}.scan-new__msg{margin:0;color:#8a5a00;font-weight:600;font-size:.92rem}.scan-new label{display:grid;gap:.25rem;font-weight:600;font-size:.9rem}.scan-new__row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.scan-qty-l{display:grid;gap:.35rem;font-weight:700}
.scan-qty{display:grid;grid-template-columns:56px 1fr 56px;gap:.4rem}.scan-qty button{font-size:1.6rem;font-weight:800;border:1px solid #e3d6c3;border-radius:12px;background:#f6f1e6;cursor:pointer}
.scan-qty input{text-align:center;font-size:1.6rem;font-weight:800;padding:.4rem}
.scan-quick{display:flex;gap:.4rem}.scan-ok{font-size:1.05rem;padding:.8em 1.2em}.scan-err{color:#a3122f;font-weight:600;margin:0}
.scan-log{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.scan-log li{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap;align-items:center;background:#fff;border:1px solid #eee4d4;border-radius:10px;padding:.55rem .8rem}
.scan-log li.undone{opacity:.4;text-decoration:line-through}.scan-log em{font-style:normal;font-weight:800}.scan-log em.neg{color:#a3122f}.scan-log em.pos{color:#1f6b35}
.scan-close{display:grid;gap:.7rem;margin-top:.6rem}
.admin__main :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]),select,textarea){padding:.55rem .75rem;border-radius:10px;border:1px solid var(--line);font-family:var(--body);font-size:.95rem;background:#fff;color:inherit;max-width:100%}
.admin__main :is(input,select,textarea):focus{outline:2px solid #f7c04a;outline-offset:1px}
.scan-qty input{font-size:1.6rem!important}

/* tabele pe telefon: fiecare rând devine un card, cu eticheta coloanei în stânga */
@media(max-width:640px){
  .admin__main table.stacked{display:block;overflow:visible;border:0;background:transparent}
  .admin__main table.stacked thead{display:none}
  .admin__main table.stacked tbody{display:grid;gap:.6rem}
  .admin__main table.stacked tr{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.5rem .8rem}
  .admin__main table.stacked td{display:grid;grid-template-columns:minmax(90px,38%) 1fr;gap:.6rem;align-items:center;padding:.35rem 0;border:0;border-bottom:1px dashed #efe6d8;text-align:left;min-width:0;overflow-wrap:anywhere}
  .admin__main table.stacked td:last-child{border-bottom:0}
  .admin__main table.stacked td::before{content:attr(data-label);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft)}
  .admin__main table.stacked td[data-label=""]{grid-template-columns:1fr}
  .admin__main table.stacked td[data-label=""]::before{display:none}
  .admin__main table.stacked td[colspan]{grid-template-columns:1fr}
  .admin__main table.stacked td[colspan]::before{display:none}
  .admin__main table.stacked td>.td-v{min-width:0}
  .ov-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ov-card b{font-size:1.3rem!important}
}

/* nimic nu iese din ecran */
.admin__main input,.admin__main select,.admin__main textarea,.admin__main img{max-width:100%}
.admin__main .btn{max-width:100%;white-space:normal;text-align:center}
.dash-grid>*,.stat-grid>*{min-width:0}
.table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.filter-bar label{min-width:0;max-width:100%}
.filter-bar input[type="date"]{min-width:0}
/* notificari */
.nt-opts{display:flex;flex-wrap:wrap;gap:.5rem;margin:.3rem 0 1rem}
.nt-opts label{position:relative;cursor:pointer}.nt-opts input{position:absolute;opacity:0;pointer-events:none}
.nt-opts span{display:inline-block;padding:.55rem .95rem;border:1.5px solid var(--line);border-radius:999px;font-weight:700;background:#fff;font-size:.9rem}
.nt-opts input:checked+span{border-color:#f5b324;background:#fff4d6}
.nt-opts input:focus-visible+span{outline:2px solid #241015;outline-offset:2px}
.nt-group{margin:0 0 1.2rem}.nt-group>h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin:0 0 .5rem}
.nt-ev{display:flex;gap:.8rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.75rem .9rem;margin:0 0 .5rem;cursor:pointer}
.nt-ev input{width:22px;height:22px;flex:0 0 22px;margin-top:.1rem;accent-color:#1E4032}
.nt-ev b{display:block}.nt-ev small{display:block;color:var(--ink-soft);font-size:.82rem;margin-top:.1rem}
.nt-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem;margin:0 0 .7rem}
.nt-card>b{display:block}.nt-card>small{display:block;color:var(--ink-soft);margin:.15rem 0 .6rem}
.nt-card .nt-opts{margin:0}
.nt-log{list-style:none;padding:0;margin:0}.nt-log li{display:flex;gap:.6rem;justify-content:space-between;border-bottom:1px solid var(--line);padding:.45rem 0;font-size:.88rem}
.nt-log li span{color:var(--ink-soft);white-space:nowrap}
.nt-rem{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.75rem .9rem;margin:0 0 .5rem}
.nt-rem div{min-width:0;flex:1 1 240px}.nt-rem small{display:block;color:var(--ink-soft)}
.nt-rem form{display:inline}
.nt-sticky{position:sticky;bottom:0;background:linear-gradient(transparent,var(--paper,#fbf6ec) 35%);padding:1rem 0 .6rem;z-index:2}
.pm-opts{margin:.2rem 0 .5rem}.pm-opts span{padding:.4rem .75rem;font-size:.85rem}
.pay-box{background:#fbf6ec;border:1px solid var(--line);border-radius:14px;padding:.8rem .9rem;margin:.6rem 0}
.pay-box form{margin:0}
.pay-transfer p{margin:.2rem 0 .5rem}.pay-transfer .iban{font-family:ui-monospace,monospace;font-weight:700;letter-spacing:.03em;word-break:break-all}

/* Câmpuri în grilă pe telefon: nu ies din ecran (date, ore) */
.grid2>*,.grid3>*,.admin-form .field{min-width:0}
.admin-form input,.admin-form select,.admin-form textarea{max-width:100%;min-width:0}
@media (max-width:480px){.grid3{grid-template-columns:1fr!important}.grid2{grid-template-columns:1fr!important}}
.wk-dates>div>input{min-width:0;width:100%}
