:root{
  --crimson-700:#8E0E2E;
  --crimson-600:#A4123A;
  --crimson-500:#C1123F;
  --crimson-100:#F9D5E0;
  --crimson-50:#FCE9EF;

  --ink-900:#0F1115;   /* judul */
  --ink-700:#3A3F4A;   /* teks isi */
  --ink-500:#6B7280;   /* teks redup */

  --surface:#FFFFFF;  
  --page-bg:#FFFFFF;   
  --surface-alt:#EDEEF1; 
  --line:#E2E4E8;   

  --green:#1F8A5B;
  --amber:#B27B12;
  --red:#C1123F;
  --blue:#2563EB;
  --purple:#6D28D9;

  --navy-950:var(--ink-900);
  --navy-900:var(--ink-900);
  --navy-800:#1C1F26;
  --navy-700:#2B303A;
  --gold-500:var(--crimson-600);
  --gold-400:var(--crimson-500);
  --gold-100:var(--crimson-100);
  --ivory:var(--page-bg);
  --gray-mist:#F1F1F4;
  --line-soft:var(--line);
  --text-soft:#C9CCD4;
  --text-body:var(--ink-700);
  --text-muted:var(--ink-500);
}
*{margin:0;padding:0;box-sizing:border-box;}
html,body{overflow-x:hidden;max-width:100%;}
body{
  font-family:'Inter',sans-serif;
  background:var(--page-bg);
  color:var(--ink-900);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-0.022em;color:var(--ink-900);}
.serif{font-family:'Inter',sans-serif;}
a{text-decoration:none;color:inherit;}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px;}

/* ===== header/footer shared ===== */
.site-header{background:var(--page-bg);border-bottom:1px solid var(--line);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;color:var(--ink-900);}
.header-sub{font-size:13px;color:var(--ink-500);font-weight:500;}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;color:inherit;}
.brand-mark{
  width:30px;height:30px;border-radius:8px;border:none;
  background:var(--crimson-600);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-family:'Inter',sans-serif;font-weight:800;font-size:14px;
  flex-shrink:0;
}
.brand-mark span{display:block;}
.site-footer{padding:36px 0;text-align:center;font-size:12.5px;color:var(--ink-500);border-top:1px solid var(--line);margin-top:20px;}

.eyebrow{
  display:inline-block;font-size:12px;font-weight:700;letter-spacing:0.01em;
  color:var(--crimson-600);background:var(--crimson-100);
  padding:7px 14px;border-radius:999px;margin-bottom:22px;
}

.flash-list{margin:16px 0;}
.flash-msg{
  background:var(--crimson-50);border:1px solid var(--crimson-100);
  border-left:3px solid var(--crimson-600);color:var(--ink-900);
  padding:13px 17px;border-radius:8px;font-size:13.5px;margin-bottom:8px;
}
.flash-msg.flash-success{
  background:#EFF9F3;border-color:#BFE3D0;border-left-color:var(--green);
}
.flash-msg.flash-error{
  background:var(--crimson-50);border-color:var(--crimson-100);border-left-color:var(--crimson-600);
}

/* ===== hero ===== */
.reg-hero{
  background:var(--page-bg);color:var(--ink-900);padding:64px 0 72px;
  position:relative;overflow:hidden;
}
.hero-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;
  position:relative;z-index:1;
}
.hero-copy,.hero-preview{min-width:0;}
.hero-copy h1{
  font-size:clamp(30px,4.4vw,50px);font-weight:800;line-height:1.13;
  letter-spacing:-0.03em;margin-bottom:20px;
}
.hero-copy h1 .accent{color:var(--crimson-600);}
.reg-hero .lead{
  color:var(--ink-700);font-size:16px;line-height:1.7;max-width:480px;margin-bottom:30px;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px;}
.hero-note{font-size:13px;color:var(--ink-500);}
.hero-note strong{color:var(--crimson-600);font-weight:600;}

/* kartu pratinjau melayang */
.hero-preview{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 24px 60px rgba(15,17,21,0.10);overflow:hidden;
}
.preview-bar{
  display:flex;align-items:center;gap:8px;padding:13px 18px;
  border-bottom:1px solid var(--ink-900);background:var(--ink-900);
}
.preview-dots{display:flex;gap:5px;}
.preview-dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,0.28);display:block;}
.preview-title{font-size:12.5px;font-weight:600;color:#FFFFFF;}
.preview-body{padding:22px;}
.preview-label{font-size:12px;color:var(--ink-500);margin-bottom:6px;}
.preview-headline{display:flex;align-items:center;gap:11px;margin-bottom:20px;flex-wrap:wrap;}
.preview-number{font-size:34px;font-weight:800;letter-spacing:-0.03em;line-height:1;}
.preview-tag{
  background:var(--crimson-600);color:#fff;font-size:11px;font-weight:700;
  padding:4px 9px;border-radius:6px;white-space:nowrap;
}
.preview-row-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.preview-row{margin-bottom:15px;}
.preview-row:last-of-type{margin-bottom:0;}
.preview-row-head{display:flex;align-items:center;gap:9px;font-size:12.5px;margin-bottom:7px;}
.preview-chip{
  width:19px;height:19px;border-radius:5px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:10px;font-weight:700;
}
.preview-row-name{color:var(--ink-700);font-weight:500;flex:1;}
.preview-row-value{color:var(--ink-900);font-weight:600;}
.preview-track{height:5px;border-radius:99px;background:#EFEFF2;overflow:hidden;}
.preview-fill{height:100%;border-radius:99px;}
.preview-foot{
  font-size:11.5px;color:var(--ink-500);margin-top:18px;
  padding-top:14px;border-top:1px solid var(--line);
}

@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:38px;}
  .header-sub{display:none;}
  .reg-hero{padding:44px 0 52px;}
  .reg-hero .lead{max-width:none;}
}

/* ===== form section ===== */
.reg-form-section{padding:48px 0 80px;}
.form-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:start;}
@media(max-width:760px){.form-grid{grid-template-columns:1fr;}}

.reg-form{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:32px;}
.field{margin-bottom:20px;}
.field label{display:block;font-size:13px;font-weight:600;color:var(--navy-900);margin-bottom:7px;}
.field input[type="text"],
.field input[type="email"],
.field input[type="tel"],
.field input[type="number"],
.field input[type="password"],
.field input[type="file"],
.field textarea{
  width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:9px;
  font-family:'Inter',sans-serif;font-size:14px;color:var(--ink-900);background:var(--surface);
  transition:border-color 0.15s,box-shadow 0.15s;
}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--crimson-500);box-shadow:0 0 0 3px var(--crimson-100);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field-inline{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.checkbox-label{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--ink-900);}
.checkbox-label input{accent-color:var(--crimson-600);}
.checkbox-label input{width:auto;}

.booth-options{display:flex;flex-direction:column;gap:10px;}
.booth-option{
  display:flex;gap:12px;border:1px solid var(--line);border-radius:11px;
  padding:16px 18px;cursor:pointer;background:var(--surface);
  transition:border-color 0.16s,background 0.16s;
}
.booth-option:hover{border-color:var(--crimson-500);background:var(--crimson-50);}
.booth-option:has(input:checked){border-color:var(--crimson-600);background:var(--crimson-50);}
.booth-option.disabled{opacity:0.55;cursor:not-allowed;}
.booth-option.disabled:hover{border-color:var(--line);background:var(--surface);}
.booth-option input[type="radio"]{margin-top:4px;flex-shrink:0;accent-color:var(--crimson-600);}
.booth-option-body{flex:1;}
.booth-option-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;gap:12px;}
.booth-name{font-weight:700;font-size:14.5px;color:var(--ink-900);}
.booth-price{font-weight:700;color:var(--crimson-600);font-size:15px;white-space:nowrap;}
.booth-desc{font-size:13px;color:var(--ink-500);margin-bottom:5px;line-height:1.55;}
.booth-slots{font-size:12px;color:var(--ink-500);}

.form-error{
  background:var(--crimson-50);border:1px solid var(--crimson-100);
  border-left:3px solid var(--red);color:#96122F;
  padding:12px 15px;border-radius:9px;font-size:13.5px;margin-bottom:18px;
}

.btn-primary{
  background:var(--crimson-600);color:#fff;border:none;
  padding:14px 26px;font-weight:600;font-size:14.5px;border-radius:9px;cursor:pointer;
  font-family:'Inter',sans-serif;display:inline-block;text-align:center;
  transition:background 0.18s;
}
.btn-primary:hover{background:var(--crimson-700);}
.btn-primary:disabled{opacity:0.6;cursor:not-allowed;}
.btn-block{width:100%;}
.btn-outline{
  border:1px solid var(--line);color:var(--ink-900);background:var(--surface);
  padding:13px 24px;font-weight:600;font-size:14px;border-radius:9px;cursor:pointer;
  display:inline-block;text-align:center;font-family:'Inter',sans-serif;
  transition:border-color 0.18s,background 0.18s;
}
.btn-outline:hover{border-color:var(--crimson-500);color:var(--crimson-600);}
.btn-sm{padding:9px 17px;font-size:13px;border-radius:8px;}

.info-card{background:var(--surface-alt);border:1px solid var(--line);border-radius:14px;padding:28px;}
.info-card h3{font-size:16px;font-weight:700;margin-bottom:16px;}
.info-card ol{padding-left:18px;font-size:13.5px;color:var(--ink-700);line-height:1.6;}
.info-card li{margin-bottom:10px;}

.info-notes{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);}
.info-notes h4{font-size:13.5px;font-weight:700;margin-bottom:10px;color:var(--ink-900);}
.info-notes ul{padding-left:18px;font-size:13px;color:var(--ink-700);line-height:1.6;}
.info-notes li{margin-bottom:7px;}

/* ===== opsi tambahan pendaftaran ===== */
.addon-list{display:flex;flex-direction:column;gap:10px;}
.addon-row{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  border:1px solid var(--line);border-radius:11px;padding:14px 16px;
  transition:border-color 0.16s,background 0.16s;
}
.addon-row.is-active{border-color:var(--crimson-600);background:var(--crimson-50);}
.addon-row-info{display:flex;flex-direction:column;gap:2px;}
.addon-row-name{font-weight:700;font-size:14px;color:var(--ink-900);}
.addon-row-desc{font-size:12.5px;color:var(--ink-500);line-height:1.5;}
.addon-row-price{font-size:12.5px;font-weight:600;color:var(--crimson-600);}
.addon-toggle-btn{
  flex-shrink:0;border:1px solid var(--line);background:var(--surface);
  color:var(--ink-500);font-weight:600;font-size:12.5px;
  padding:8px 14px;border-radius:999px;cursor:pointer;
  font-family:'Inter',sans-serif;transition:background 0.16s,border-color 0.16s,color 0.16s;
}
.addon-toggle-btn:hover{border-color:var(--crimson-500);}
.addon-toggle-btn.is-active{background:var(--crimson-600);border-color:var(--crimson-600);color:#fff;}

.reg-total{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--surface-alt);border:1px solid var(--line);border-radius:10px;
  padding:14px 16px;margin-bottom:18px;font-size:13.5px;color:var(--ink-700);
}
.reg-total[hidden]{display:none;}
.reg-total strong{font-size:16px;color:var(--crimson-600);}

/* ===== status page ===== */
.status-section{padding:64px 0;}
.status-card{max-width:520px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:38px;text-align:center;box-shadow:0 8px 30px rgba(15,17,21,0.05);}
.status-pill{
  display:inline-block;padding:5px 14px;border-radius:20px;font-size:12px;font-weight:600;
  letter-spacing:0.02em;margin-bottom:16px;
}
.status-paid{background:#E3F1E8;color:var(--green);}
.status-pending{background:#FDF4E3;color:var(--amber);}
.status-expired,.status-cancelled,.status-failed{background:var(--crimson-50);color:var(--red);}
.status-refunded{background:var(--gray-mist);color:var(--text-muted);}
.status-card h1{font-size:22px;margin-bottom:10px;}
.order-id{font-size:13.5px;color:var(--text-muted);margin-bottom:24px;}
.status-details{text-align:left;border-top:1px solid var(--line-soft);padding-top:20px;margin-bottom:20px;}
.status-details div{display:flex;justify-content:space-between;padding:8px 0;font-size:13.5px;border-bottom:1px solid #EEECE3;}
.status-details span{color:var(--text-muted);}
.status-details-total{border-bottom:none !important;padding-top:12px !important;}
.status-details-total span{color:var(--ink-900);font-weight:600;}
.status-details-total strong{color:var(--crimson-600);font-size:15px;}
.status-hint{
  font-size:13px;color:var(--ink-700);line-height:1.65;margin-bottom:18px;
  background:var(--surface-alt);border:1px solid var(--line);border-radius:10px;padding:14px 16px;text-align:left;
}
.status-hint-warn{
  background:var(--crimson-50);border-color:var(--crimson-100);
}
.status-save{font-size:12px;color:var(--ink-500);margin-bottom:20px;}

/* ===== admin ===== */
.admin-body{background:var(--surface-alt);}
.admin-header{
  background:var(--surface);color:var(--ink-900);
  position:fixed;top:0;left:0;right:0;z-index:20;
}
.admin-header-inner{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;}
.admin-header .btn-outline{color:var(--ink-900);border-color:var(--line);}
.admin-header .btn-outline:hover{border-color:var(--crimson-500);color:var(--crimson-600);}
.admin-main{max-width:1100px;padding:36px 24px 72px;}
.admin-tag{
  background:var(--crimson-100);color:var(--crimson-600);
  font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;margin-left:2px;
}
.admin-header-actions{display:flex;align-items:center;gap:18px;}
.admin-header-link{font-size:13px;font-weight:500;color:var(--ink-500);}
.admin-header-link:hover{color:var(--crimson-600);}
@media(max-width:600px){.admin-header-link{display:none;}}

/* ringkasan angka */
.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:40px;}
@media(max-width:700px){.admin-stats{grid-template-columns:1fr;}}
.stat-card{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 24px;
  box-shadow:0 1px 3px rgba(15,17,21,0.04);
}
.stat-card.highlight{
  border-color:var(--crimson-100);background:var(--crimson-50);
}
.stat-card.highlight .stat-value{color:var(--crimson-600);}
.stat-label{
  display:block;font-size:11.5px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;
  color:var(--ink-500);margin-bottom:9px;
}
.stat-value{font-family:'Inter',sans-serif;font-size:30px;font-weight:800;letter-spacing:-0.028em;color:var(--ink-900);}

/* panel */
.admin-panel{margin-bottom:44px;}
.admin-panel-head{margin-bottom:18px;}
.admin-panel-head h2{font-size:20px;font-weight:800;letter-spacing:-0.02em;margin-bottom:6px;}
.admin-panel-head p{font-size:13.5px;color:var(--ink-500);line-height:1.6;}
.admin-panel-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.admin-panel-head-row .btn-outline{flex-shrink:0;}

.booth-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;}
.booth-settings-card{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;
}
.booth-settings-card.booth-new{border-style:dashed;}
.booth-settings-card h3{font-size:15px;font-weight:700;margin-bottom:14px;}
.booth-settings-card textarea{resize:vertical;font-family:'Inter',sans-serif;}
.booth-slots-admin{font-size:12px;color:var(--ink-500);font-weight:500;}

/* tabel pendaftaran */
.table-wrap{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow-x:auto;
}
.admin-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:900px;}
.admin-table th{
  text-align:left;padding:13px 16px;background:var(--surface-alt);color:var(--ink-500);
  font-size:11px;text-transform:uppercase;letter-spacing:0.06em;font-weight:700;
  border-bottom:1px solid var(--line);white-space:nowrap;
}
.admin-table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle;}
.admin-table tbody tr:hover{background:var(--surface-alt);}
.admin-table tr:last-child td{border-bottom:none;}
.mono{
  font-family:ui-monospace,'Cascadia Mono','Consolas',monospace;font-size:12.5px;
  font-weight:600;color:var(--ink-900);
}
.contact-cell{display:flex;flex-direction:column;gap:2px;font-size:12.5px;color:var(--ink-500);}
.empty-row{text-align:center;color:var(--ink-500);padding:40px;}

/* pemilih status — pil berwarna */
.status-select{
  padding:6px 11px;border-radius:999px;border:1px solid var(--line);font-size:12px;
  font-family:'Inter',sans-serif;font-weight:700;cursor:pointer;
  background:var(--surface);text-transform:capitalize;
}
.status-select:focus{outline:none;box-shadow:0 0 0 3px var(--crimson-100);}
.status-select.status-paid{color:var(--green);border-color:#BFE3D0;background:#EFF9F3;}
.status-select.status-pending{color:var(--amber);border-color:#EFDCB4;background:#FDF7EA;}
.status-select.status-expired,
.status-select.status-cancelled,
.status-select.status-failed{color:var(--red);border-color:var(--crimson-100);background:var(--crimson-50);}
.status-select.status-refunded{color:var(--ink-500);background:var(--surface-alt);}

/* ===== admin login ===== */
.admin-login-body{
  background:var(--surface-alt);min-height:100vh;display:flex;align-items:center;justify-content:center;
  font-family:'Inter',sans-serif;padding:24px;
}
.admin-login-card{
  background:#fff;border-radius:8px;padding:36px;width:100%;max-width:360px;
  box-shadow:0 18px 50px rgba(15,17,21,0.10);border:1px solid var(--line);border-top:3px solid var(--crimson-600);
}
.admin-login-card .brand{color:var(--navy-900);margin-bottom:22px;justify-content:center;}
.admin-login-card h1{font-size:19px;margin-bottom:4px;text-align:center;}
.admin-login-sub{
  font-size:13px;color:var(--text-muted);text-align:center;margin-bottom:22px;
}
.admin-login-back{
  display:block;text-align:center;margin-top:20px;font-size:12.5px;
  color:var(--text-muted);text-decoration:none;
}
.admin-login-back:hover{color:var(--navy-900);text-decoration:underline;}
.admin-login-form .field{margin-bottom:16px;}

/* ===== carousel foto ===== */
.gallery-section{padding:0 0 8px;}
.carousel{
  position:relative;overflow:hidden;border-radius:14px;
  background:transparent;border:1px solid var(--line);
  box-shadow:0 8px 30px rgba(15,17,21,0.05);
}
.carousel-track{display:flex;transition:transform 0.5s ease;}
.carousel-slide{
  position:relative;min-width:100%;margin:0;
  aspect-ratio:24/7;max-height:300px;background:transparent;
}
.carousel-slide img{width:100%;height:100%;object-fit:contain;display:block;}
.carousel-slide figcaption{
  position:absolute;left:0;right:0;bottom:0;
  padding:36px 24px 18px;color:#fff;font-size:14px;font-weight:500;
  background:linear-gradient(to top, rgba(8,20,31,0.85), rgba(8,20,31,0));
}
.carousel-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(255,255,255,0.9);color:var(--navy-900);
  font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;
  transition:background 0.2s;
}
.carousel-nav:hover{background:#fff;}
.carousel-nav.prev{left:14px;}
.carousel-nav.next{right:14px;}
.carousel-dots{
  position:absolute;bottom:14px;left:0;right:0;
  display:flex;justify-content:center;gap:7px;
}
.carousel-dot{
  width:8px;height:8px;border-radius:50%;border:none;cursor:pointer;padding:0;
  background:rgba(255,255,255,0.45);transition:background 0.2s,width 0.2s;
}
.carousel-dot.active{background:var(--crimson-600);width:22px;border-radius:4px;}

/* ===== lokasi acara ===== */
.venue-section{padding:28px 0 0;}
.venue-card{
  background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--crimson-600);
  border-radius:14px;padding:24px 26px;
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}
.venue-icon{font-size:22px;line-height:1;flex-shrink:0;}
.venue-body{flex:1;min-width:240px;}
.venue-label{
  display:block;font-size:11px;font-weight:700;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--crimson-600);margin-bottom:5px;
}
.venue-card h2{font-size:17px;color:var(--navy-900);margin-bottom:5px;}
.venue-address{font-size:13.5px;color:var(--text-body);line-height:1.55;margin-bottom:6px;}
.venue-date{font-size:13px;color:var(--navy-900);font-weight:600;display:flex;align-items:center;gap:7px;}
.venue-date-icon{font-size:13px;}
.venue-map-btn{flex-shrink:0;white-space:nowrap;text-decoration:none;}

@media (max-width:640px){
  .carousel-slide{aspect-ratio:16/9;max-height:220px;}
  .carousel-nav{width:34px;height:34px;font-size:20px;}
  .carousel-nav.prev{left:8px;}
  .carousel-nav.next{right:8px;}
  .venue-card{flex-direction:column;align-items:flex-start;gap:14px;}
  .venue-map-btn{width:100%;text-align:center;}
}

/* ===== panel admin: lokasi & foto ===== */
.field-hint{
  display:block;font-size:12px;color:var(--ink-500);margin-top:6px;line-height:1.5;
}
.empty-note{
  font-size:13.5px;color:var(--ink-500);padding:26px;text-align:center;
  background:var(--surface-alt);border:1px dashed var(--line);border-radius:14px;
}
.btn-danger{
  background:transparent;border:1px solid var(--crimson-100);color:var(--crimson-600);
  padding:9px 18px;font-weight:600;font-size:13px;border-radius:8px;cursor:pointer;
  font-family:'Inter',sans-serif;width:100%;transition:background 0.16s,border-color 0.16s;
}
.btn-danger:hover{background:var(--crimson-50);border-color:var(--crimson-500);}

.event-settings-form,.photo-upload-form{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;
}
.photo-upload-form{margin-bottom:20px;}
.field input[type="file"]{padding:9px 11px;font-size:13px;cursor:pointer;}

.photo-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;
}
.photo-card{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:15px;display:flex;flex-direction:column;gap:12px;
}
.photo-card.inactive{opacity:0.6;background:var(--surface-alt);}
.photo-thumb{
  position:relative;border-radius:9px;overflow:hidden;
  aspect-ratio:16/9;background:var(--surface-alt);
}
.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.photo-hidden-badge{
  position:absolute;top:8px;left:8px;background:rgba(15,17,21,0.82);color:#fff;
  font-size:10.5px;font-weight:600;padding:3px 8px;border-radius:3px;letter-spacing:0.03em;
}
.photo-form .field{margin-bottom:12px;}
.photo-form .field-row{gap:12px;}
.photo-active-field{display:flex;align-items:flex-end;}
.photo-card .field label{font-size:12px;}

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

/* ===== modal alur pendaftaran ===== */
.modal-overlay{
  position:fixed;inset:0;z-index:100;
  display:flex;align-items:center;justify-content:center;padding:24px;
  background:rgba(15,17,21,0.55);backdrop-filter:blur(3px);
  opacity:0;transition:opacity 0.22s ease;
}
.modal-overlay.is-open{opacity:1;}
.modal-overlay[hidden]{display:none;}

.modal-card{
  position:relative;background:var(--surface);border-radius:16px;
  padding:38px 36px 32px;width:100%;max-width:880px;
  max-height:90vh;overflow-y:auto;
  box-shadow:0 30px 80px rgba(15,17,21,0.28);
  transform:translateY(14px) scale(0.985);
  transition:transform 0.26s cubic-bezier(0.22,1,0.36,1);
}
.modal-overlay.is-open .modal-card{transform:translateY(0) scale(1);}

.modal-close{
  position:absolute;top:16px;right:18px;
  width:34px;height:34px;border:none;border-radius:8px;cursor:pointer;
  background:transparent;color:var(--ink-500);font-size:26px;line-height:1;
  display:flex;align-items:center;justify-content:center;transition:background 0.16s,color 0.16s;
}
.modal-close:hover{background:var(--surface-alt);color:var(--ink-900);}

.modal-eyebrow{
  display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--crimson-600);background:var(--crimson-100);
  padding:6px 12px;border-radius:999px;margin-bottom:14px;
}
.modal-card h2{font-size:24px;font-weight:800;letter-spacing:-0.022em;margin-bottom:6px;}
.modal-sub{font-size:14px;color:var(--ink-500);margin-bottom:28px;}

/* langkah bernomor, berjajar ke samping */
.flow-steps{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
  list-style:none;padding:0;margin:0 0 28px;
}
.flow-step{
  position:relative;padding-top:6px;
  opacity:0;transform:translateY(14px);
  transition:opacity 0.42s ease,transform 0.42s cubic-bezier(0.22,1,0.36,1);
}
.flow-step.is-visible{opacity:1;transform:translateY(0);}

/* garis penghubung antar langkah */
.flow-step::after{
  content:'';position:absolute;top:23px;left:52px;right:-14px;
  height:2px;background:var(--line);
}
.flow-step:last-child::after{display:none;}

.flow-num{
  position:relative;z-index:1;
  width:38px;height:38px;border-radius:50%;
  background:var(--crimson-600);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:800;margin-bottom:14px;
}
.flow-step h3{font-size:15px;font-weight:700;margin-bottom:6px;}
.flow-step p{font-size:13px;color:var(--ink-500);line-height:1.6;}

.modal-actions{display:flex;justify-content:flex-end;padding-top:6px;}

@media(max-width:780px){
  .modal-card{padding:32px 22px 26px;max-height:88vh;}
  .flow-steps{grid-template-columns:repeat(2,1fr);gap:22px 18px;}
  .flow-step:nth-child(2)::after{display:none;}
  .modal-card h2{font-size:20px;}
  .modal-actions{justify-content:stretch;}
  .modal-actions .btn-primary{width:100%;}
}
@media(max-width:460px){
  .flow-steps{grid-template-columns:1fr;gap:18px;}
  .flow-step::after{display:none;}
}

/* hormati preferensi pengguna yang mematikan animasi */
@media (prefers-reduced-motion:reduce){
  .modal-overlay,.modal-card,.flow-step{transition:none;}
  .flow-step{opacity:1;transform:none;}
}

/* ===== kirim informasi ke pendaftar ===== */
.broadcast-form{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;
}
.broadcast-form textarea{resize:vertical;font-family:'Inter',sans-serif;line-height:1.6;}

.audience-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.audience-option{
  display:flex;align-items:flex-start;gap:10px;cursor:pointer;
  border:1px solid var(--line);border-radius:11px;padding:14px 16px;
  background:var(--surface);transition:border-color 0.16s,background 0.16s;
}
.audience-option:hover{border-color:var(--crimson-500);background:var(--crimson-50);}
.audience-option:has(input:checked){border-color:var(--crimson-600);background:var(--crimson-50);}
.audience-option input{margin-top:3px;accent-color:var(--crimson-600);width:auto;flex-shrink:0;}
.audience-body{display:flex;flex-direction:column;gap:3px;}
.audience-name{font-size:13.5px;font-weight:600;color:var(--ink-900);}
.audience-count{font-size:12px;color:var(--ink-500);}

.broadcast-history{margin-top:24px;}
.broadcast-history h3{font-size:15px;font-weight:700;margin-bottom:14px;}
.broadcast-item{
  background:var(--surface);border:1px solid var(--line);border-radius:11px;
  padding:14px 16px;margin-bottom:10px;
}
.broadcast-item-head{
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:7px;
}
.broadcast-subject{font-size:13.5px;font-weight:600;color:var(--ink-900);}
.broadcast-date{font-size:12px;color:var(--ink-500);white-space:nowrap;}
.broadcast-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--ink-500);flex-wrap:wrap;}
.broadcast-tag{
  background:var(--crimson-100);color:var(--crimson-600);
  font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;
}
.broadcast-failed{color:var(--red);font-weight:600;}

@media(max-width:900px){
  .audience-options{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
  .audience-options{grid-template-columns:1fr;}
  .picker-toolbar{flex-direction:column;align-items:stretch;}
}

/* ===== pemilih penerima manual ===== */
.recipient-picker[hidden]{display:none;}
.picker-toolbar{display:flex;gap:10px;margin-bottom:10px;align-items:center;}
.picker-search{
  flex:1;padding:10px 13px;border:1px solid var(--line);border-radius:9px;
  font-family:'Inter',sans-serif;font-size:13.5px;color:var(--ink-900);background:var(--surface);
}
.picker-search:focus{outline:none;border-color:var(--crimson-500);box-shadow:0 0 0 3px var(--crimson-100);}
.picker-toolbar .btn-sm{white-space:nowrap;}

.picker-list{
  max-height:280px;overflow-y:auto;
  border:1px solid var(--line);border-radius:11px;background:var(--surface);
}
.picker-item{
  display:flex;align-items:flex-start;gap:11px;padding:11px 14px;cursor:pointer;
  border-bottom:1px solid var(--line);transition:background 0.14s;
}
.picker-item:last-child{border-bottom:none;}
.picker-item:hover{background:var(--surface-alt);}
.picker-item:has(input:checked){background:var(--crimson-50);}
.picker-item[hidden]{display:none;}
.picker-item input{margin-top:3px;accent-color:var(--crimson-600);width:auto;flex-shrink:0;}
.picker-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;}
.picker-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.picker-name{font-size:13.5px;font-weight:600;color:var(--ink-900);}
.picker-sub{font-size:12px;color:var(--ink-500);overflow:hidden;text-overflow:ellipsis;}
.picker-empty{padding:22px;text-align:center;font-size:13px;color:var(--ink-500);}

/* penanda status kecil di daftar penerima */
.status-dot{
  font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px;text-transform:capitalize;
}
.status-dot.status-paid{background:#EFF9F3;color:var(--green);}
.status-dot.status-pending{background:#FDF4E3;color:var(--amber);}
.status-dot.status-expired,
.status-dot.status-cancelled,
.status-dot.status-failed{background:var(--crimson-50);color:var(--red);}
.status-dot.status-refunded{background:var(--surface-alt);color:var(--ink-500);}

/* ===== bagian pembicara (halaman depan) ===== */
.speakers-section{padding:44px 0 8px;}
.section-head{text-align:center;margin-bottom:30px;}
.section-head .eyebrow{margin-bottom:12px;}
.section-head h2{font-size:26px;font-weight:800;letter-spacing:-0.024em;margin-bottom:7px;}
.section-head p{font-size:14px;color:var(--ink-500);}

.speaker-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;
}
.speaker-card{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:26px 20px;text-align:center;
}
.speaker-photo{
  width:96px;height:96px;border-radius:50%;margin:0 auto 16px;
  overflow:hidden;background:var(--crimson-50);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.speaker-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.speaker-initials{font-size:28px;font-weight:800;color:var(--crimson-600);letter-spacing:-0.02em;}
.speaker-card h3{font-size:16px;font-weight:700;margin-bottom:4px;}
.speaker-inst{font-size:13px;color:var(--crimson-600);font-weight:600;margin-bottom:9px;}
.speaker-topic{
  font-size:13px;color:var(--ink-500);line-height:1.6;
  padding-top:9px;border-top:1px solid var(--line);
}

/* ===== navbar admin ===== */
.admin-nav{
  background:var(--surface);border-bottom:1px solid var(--line);
  position:fixed;top:63px;left:0;right:0;z-index:19;overflow-x:auto;
  box-shadow:0 1px 3px rgba(15,17,21,0.04);
}
/* ruang untuk header + navbar yang kini melayang di atas konten */
.admin-body{padding-top:112px;}
.admin-nav-inner{display:flex;gap:4px;padding:0 24px;}
.admin-nav-link{
  padding:13px 14px;font-size:13px;font-weight:600;color:var(--ink-500);
  white-space:nowrap;border-bottom:2px solid transparent;transition:color 0.16s,border-color 0.16s;
}
.admin-nav-link:hover{color:var(--ink-900);}
.admin-nav-link.is-active{color:var(--crimson-600);border-bottom-color:var(--crimson-600);}

/* beri jarak agar judul panel tidak tertutup header saat diklik dari navbar */
.admin-panel,.admin-stats{scroll-margin-top:118px;}

/* ===== pengatur posisi gambar ===== */
.adjust-box{
  background:var(--surface-alt);border:1px solid var(--line);
  border-radius:10px;padding:13px 14px;
}
.fit-choice{display:flex;gap:8px;margin-bottom:10px;}
.fit-opt{
  flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
  border:1px solid var(--line);border-radius:8px;padding:8px 10px;cursor:pointer;
  background:var(--surface);font-size:12.5px;font-weight:600;color:var(--ink-700);
  transition:border-color 0.16s,background 0.16s,color 0.16s;
}
.fit-opt:has(input:checked){
  border-color:var(--crimson-600);background:var(--crimson-50);color:var(--crimson-600);
}
.fit-opt input{width:auto;accent-color:var(--crimson-600);}

.pos-controls[hidden]{display:none;}
.pos-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.pos-label{font-size:11.5px;color:var(--ink-500);width:78px;flex-shrink:0;}
.pos-slider{flex:1;accent-color:var(--crimson-600);height:4px;cursor:pointer;}
.pos-value{
  font-size:11.5px;font-weight:600;color:var(--ink-900);
  width:38px;text-align:right;flex-shrink:0;
}

/* ===== panel pembicara (admin) ===== */
.speaker-new-form{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:24px;margin-bottom:20px;
}
.speaker-new-form h3{font-size:15px;font-weight:700;margin-bottom:16px;}

.speaker-admin-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;
}
.speaker-admin-card{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:18px;display:flex;flex-direction:column;gap:12px;
}
.speaker-admin-card.inactive{opacity:0.6;background:var(--surface-alt);}
.speaker-admin-head{display:flex;gap:14px;align-items:flex-start;}
.speaker-admin-photo{
  width:62px;height:62px;border-radius:50%;overflow:hidden;flex-shrink:0;
  background:var(--crimson-50);display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:800;color:var(--crimson-600);
}
.speaker-admin-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.speaker-admin-head .field{flex:1;margin-bottom:0;min-width:0;}
.speaker-admin-card .field{margin-bottom:12px;}
.speaker-admin-card .field label{font-size:12px;}

@media(max-width:700px){
  .speaker-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;}
  .speaker-photo{width:78px;height:78px;}
  .admin-nav{top:60px;}
  .admin-body{padding-top:106px;}
}

/* keterangan karya/produk */
.desc-cell{max-width:230px;}
.desc-cell span{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;font-size:12.5px;color:var(--ink-700);line-height:1.5;
}
.desc-empty{color:var(--ink-500);}

.status-desc{
  text-align:left;background:var(--surface-alt);border:1px solid var(--line);
  border-radius:10px;padding:14px 16px;margin-bottom:18px;
}
.status-desc-label{
  display:block;font-size:11px;font-weight:700;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--ink-500);margin-bottom:6px;
}
.status-desc p{font-size:13px;color:var(--ink-700);line-height:1.65;white-space:pre-line;}

/* penggeser posisi pada kartu pembicara */
.sp-adjust{padding:11px 12px;}
.sp-adjust .pos-label{width:70px;font-size:11px;}
.sp-adjust .pos-row{margin-bottom:7px;}
.speaker-admin-photo img{transition:object-position 0.12s linear;}

/* penggeser yang tidak berpengaruh pada gambar ini */
.pos-row-off{opacity:0.45;}
.pos-row-off .pos-slider{cursor:not-allowed;}
.pos-note{color:var(--crimson-600);font-weight:500;}
.pos-note[hidden]{display:none;}

/* form judul bagian pembicara */
.speaker-head-form{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:24px;margin-bottom:18px;
}
.speaker-head-form h3{font-size:15px;font-weight:700;margin-bottom:16px;}

/* ===== kartu peserta (ID card) ===== */
.ticket-section{padding:48px 0 72px;}
.ticket-head{text-align:center;margin-bottom:26px;}
.ticket-head h1{font-size:26px;font-weight:800;letter-spacing:-0.024em;margin-bottom:7px;}
.ticket-head p{font-size:14px;color:var(--ink-500);}

.id-card{
  max-width:620px;margin:0 auto;background:var(--surface);
  border:1px solid var(--line);border-radius:16px;overflow:hidden;
  box-shadow:0 18px 50px rgba(15,17,21,0.10);
}
.id-card-top{
  background:var(--ink-900);color:#fff;padding:16px 22px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.id-card-top .brand{color:#fff;}
.id-card-badge{
  background:var(--crimson-600);color:#fff;font-size:11px;font-weight:700;
  padding:5px 12px;border-radius:999px;letter-spacing:0.03em;
}
.id-card-body{display:flex;gap:26px;padding:26px 22px;align-items:flex-start;}
.id-card-info{flex:1;min-width:0;}
.id-label{
  display:block;font-size:10.5px;font-weight:700;letter-spacing:0.07em;
  text-transform:uppercase;color:var(--ink-500);margin-bottom:4px;
}
.id-card-info h2{font-size:19px;font-weight:800;margin-bottom:14px;line-height:1.25;}
.id-value{font-size:14px;font-weight:600;color:var(--ink-900);margin-bottom:14px;}
.id-meta{display:flex;gap:22px;flex-wrap:wrap;}
.id-meta .id-value{margin-bottom:0;font-size:13px;}

.id-card-qr{
  flex-shrink:0;width:150px;text-align:center;
  background:var(--surface-alt);border:1px solid var(--line);
  border-radius:12px;padding:12px;
}
.id-card-qr img{width:100%;height:auto;display:block;}
.id-qr-note{
  display:block;font-size:10.5px;color:var(--ink-500);
  margin-top:7px;font-weight:600;letter-spacing:0.03em;
}
.id-card-foot{
  border-top:1px solid var(--line);padding:13px 22px;
  display:flex;gap:18px;flex-wrap:wrap;
  font-size:12px;color:var(--ink-500);
}

.ticket-note{
  max-width:620px;margin:18px auto 0;text-align:center;
  font-size:12.5px;color:var(--ink-500);line-height:1.65;
}
.ticket-note-in{color:var(--green);font-weight:600;}
.ticket-actions{
  display:flex;gap:12px;justify-content:center;margin-top:24px;flex-wrap:wrap;
}

/* ===== halaman pindai QR ===== */
.scan-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;}
.scan-camera-box{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;
}
.scan-viewport{
  position:relative;width:100%;aspect-ratio:4/3;border-radius:11px;overflow:hidden;
  background:var(--ink-900);display:flex;align-items:center;justify-content:center;
}
.scan-viewport video{width:100%;height:100%;object-fit:cover;display:block;}
.scan-frame{
  position:absolute;inset:18%;border:2px solid rgba(255,255,255,0.85);
  border-radius:12px;pointer-events:none;opacity:0;transition:opacity 0.2s;
}
.scan-viewport.is-live .scan-frame{opacity:1;}
.scan-controls{display:flex;gap:10px;margin-top:14px;}
.scan-controls button[hidden]{display:none;}

.scan-result{min-height:220px;}
.scan-idle{
  background:var(--surface);border:1px dashed var(--line);border-radius:14px;
  padding:44px 20px;text-align:center;color:var(--ink-500);
}
.scan-idle-icon{font-size:30px;display:block;margin-bottom:10px;opacity:0.5;}
.scan-idle p{font-size:13.5px;}

.scan-card{
  border-radius:14px;padding:24px;text-align:center;border:1px solid var(--line);
  background:var(--surface);
}
.scan-card.scan-ok{background:#EFF9F3;border-color:#BFE3D0;}
.scan-card.scan-warn{background:#FDF4E3;border-color:#EFDCB4;}
.scan-card.scan-bad{background:var(--crimson-50);border-color:var(--crimson-100);}
.scan-icon{font-size:34px;display:block;line-height:1;margin-bottom:8px;}
.scan-ok .scan-icon{color:var(--green);}
.scan-warn .scan-icon{color:var(--amber);}
.scan-bad .scan-icon{color:var(--red);}
.scan-title{font-size:17px;font-weight:800;display:block;margin-bottom:5px;}
.scan-msg{font-size:13px;color:var(--ink-700);margin-bottom:14px;}
.scan-detail{
  background:rgba(255,255,255,0.7);border-radius:10px;padding:14px;
  display:flex;flex-direction:column;gap:3px;
}
.scan-inst{font-size:15px;font-weight:700;color:var(--ink-900);}
.scan-sub{font-size:12.5px;color:var(--ink-500);}
.scan-time{font-size:12px;color:var(--ink-700);font-weight:600;margin-top:6px;}
.scan-hint-bad{color:var(--red);font-weight:500;}

/* tautan status yang bisa disalin */
.status-link-box{
  background:var(--surface-alt);border:1px solid var(--line);border-radius:10px;
  padding:13px 14px;margin:16px 0 18px;text-align:left;
}
.status-link-label{
  display:block;font-size:11px;font-weight:600;color:var(--ink-500);margin-bottom:8px;
}
.status-link-row{display:flex;gap:8px;}
.status-link-row input{
  flex:1;min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:8px;
  font-family:ui-monospace,'Consolas',monospace;font-size:11.5px;color:var(--ink-700);
  background:var(--surface);
}
.status-card .btn-block{margin-bottom:6px;}

@media(max-width:820px){
  .scan-grid{grid-template-columns:1fr;}
}
@media(max-width:620px){
  .id-card-body{flex-direction:column;align-items:center;text-align:center;}
  .id-card-info{text-align:center;}
  .id-meta{justify-content:center;}
}

/* saat dicetak: hanya kartu yang ikut tercetak */
@media print{
  .site-header,.site-footer,.ticket-head,.ticket-note,.ticket-actions{display:none !important;}
  body{background:#fff;}
  .ticket-section{padding:0;}
  .id-card{box-shadow:none;border:1px solid #999;max-width:none;}
}

/* ===== dialog konfirmasi ===== */
.confirm-overlay{
  position:fixed;inset:0;z-index:200;
  display:flex;align-items:center;justify-content:center;padding:24px;
  background:rgba(15,17,21,0.55);backdrop-filter:blur(3px);
  opacity:0;transition:opacity 0.18s ease;
}
.confirm-overlay.is-open{opacity:1;}
.confirm-overlay[hidden]{display:none;}

.confirm-card{
  background:var(--surface);border-radius:16px;padding:30px 28px 24px;
  width:100%;max-width:430px;text-align:center;
  box-shadow:0 26px 70px rgba(15,17,21,0.3);
  transform:translateY(12px) scale(0.985);
  transition:transform 0.22s cubic-bezier(0.22,1,0.36,1);
}
.confirm-overlay.is-open .confirm-card{transform:translateY(0) scale(1);}

.confirm-icon{
  width:48px;height:48px;border-radius:50%;margin:0 auto 14px;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:800;line-height:1;
  background:#FDF4E3;color:var(--amber);
}
.confirm-card.is-danger .confirm-icon{background:var(--crimson-50);color:var(--red);}
.confirm-card h2{font-size:19px;font-weight:800;letter-spacing:-0.02em;margin-bottom:7px;}
.confirm-text{font-size:13.5px;color:var(--ink-500);line-height:1.6;margin-bottom:18px;}

.confirm-detail{
  background:var(--surface-alt);border:1px solid var(--line);border-radius:11px;
  padding:14px 16px;margin-bottom:20px;text-align:left;
}
.confirm-detail[hidden]{display:none;}
.confirm-row{
  display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  font-size:12.5px;padding:5px 0;
}
.confirm-row span{color:var(--ink-500);flex-shrink:0;}
.confirm-row strong{color:var(--ink-900);text-align:right;word-break:break-word;}
.confirm-hl{color:var(--crimson-600);}
.confirm-note{
  font-size:12px;color:var(--ink-500);line-height:1.6;
  margin-top:10px;padding-top:10px;border-top:1px solid var(--line);
}

.confirm-password-field{text-align:left;}
.confirm-password-field[hidden]{display:none;}
.confirm-password-error{display:block;font-size:12px;color:var(--crimson-600);margin-top:6px;}

.confirm-actions{display:flex;gap:10px;}
.confirm-actions button{flex:1;}
.btn-danger-solid{background:var(--crimson-600) !important;color:#fff !important;}
.btn-danger-solid:hover{background:var(--crimson-700) !important;}

/* tombol hapus di tabel */
.btn-icon-danger{
  background:transparent;border:1px solid var(--line);color:var(--ink-500);
  padding:6px 13px;font-size:12px;font-weight:600;border-radius:8px;cursor:pointer;
  font-family:'Inter',sans-serif;white-space:nowrap;
  transition:border-color 0.16s,color 0.16s,background 0.16s;
}
.btn-icon-danger:hover{
  border-color:var(--crimson-500);color:var(--crimson-600);background:var(--crimson-50);
}

/* panel sambutan halaman depan */
.hero-settings-form{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;
}
.hero-settings-form textarea{resize:vertical;font-family:'Inter',sans-serif;line-height:1.6;}
.hero-title-row{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:10px;}
.hero-title-row .input-accent{
  border-color:var(--crimson-100);background:var(--crimson-50);
  color:var(--crimson-600);font-weight:600;
}
.hero-title-row .input-accent:focus{border-color:var(--crimson-500);}
@media(max-width:700px){
  .hero-title-row{grid-template-columns:1fr;}
}
