/* Pioneer Writers — Premium Portal Theme (Navy + Gold)
   Goal: match a modern SaaS dashboard feel (sidebar + topbar + data tables)
   while keeping existing legacy class hooks (.btn, .input, .card, etc).
*/

:root{
  /* Requested palette */
  --c-gold:  #bd9c3a;
  --c-navy:  #0b243b;
  --c-bronze:#b17d27;
  --c-gold2: #b88f32;

  /* Surfaces */
  --bg: #f5f7fb;
  --panel: #ffffff;
  --panel-2: rgba(255,255,255,.86);

  /* Text */
  --text: #0f172a;
  --muted: rgba(15,23,42,.65);
  --muted-2: rgba(15,23,42,.52);

  /* Borders + radius + shadow */
  --border: rgba(15,23,42,.10);
  --border-2: rgba(15,23,42,.14);
  --radius: 2px;
  --radius-sm: 2px;
  --shadow-sm: 0 10px 24px rgba(2,6,23,.06);
  --shadow: 0 18px 42px rgba(2,6,23,.10);

  /* Brand tokens (legacy names used across views) */
  --brand-amber: var(--c-gold);
  --brand-amber-2: var(--c-gold2);
  --brand-deep: var(--c-navy);
  --brand-cream: var(--bg);

  /* Friendly aliases used in new step checkout */
  --brand-gold: var(--c-gold);
  --brand-navy: var(--c-navy);

  /* Public header sizing */
  --nav-h: 90px;
}

@media (max-width: 640px){
  :root{ --nav-h: 74px; }
}

.pw-public-nav{ height: var(--nav-h); }
.pw-public-pad{ padding-top: var(--nav-h); }
.pw-nav-btn{ padding: 10px 16px; border-radius: 999px; font-size: 14px; }

/* Home hero layout helpers */
.pw-hero-vcenter{
  min-height: calc(100vh - var(--nav-h));
  min-height: calc(100svh - var(--nav-h));
  display:flex;
  align-items:center;
}
@media (max-width: 1024px){
  .pw-hero-vcenter{ padding: 28px 0; }
}

.pw-vert-badge{
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  padding: 12px 10px;
  border-radius: 14px;
  background: rgba(11,36,59,.92);
  color: rgba(255,255,255,.92);
  border: 1px solid rgba(189,156,58,.35);
  box-shadow: 0 18px 44px rgba(2,6,23,.18);
  font-weight: 900;
  letter-spacing: .08em;
  font-size: 12px;
}

/* Experts carousel */
.pw-icon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:999px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.92);
  color: rgba(11,36,59,.86);
  box-shadow: 0 12px 28px rgba(2,6,23,.07);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.pw-icon-btn:hover{ transform: translateY(-1px); border-color: rgba(189,156,58,.35); box-shadow: 0 16px 34px rgba(2,6,23,.10); }

/* Experts carousel */
.pw-bleed{
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
}
.pw-bleed-pad{
  padding-left: max(16px, calc((100vw - 72rem)/2 + 16px));
  padding-right: max(16px, calc((100vw - 72rem)/2 + 16px));
}
.pw-hscroll-wrap{ position: relative; }
.pw-hscroll-wrap:before,
.pw-hscroll-wrap:after{
  content:"";
  position:absolute;
  top:0; bottom:0;
  width: 74px;
  pointer-events:none;
  z-index: 5;
}
.pw-hscroll-wrap:before{
  left: 0;
  background: linear-gradient(to right, rgba(245,247,251,1), rgba(245,247,251,0));
}
.pw-hscroll-wrap:after{
  right:0;
  background: linear-gradient(to left, rgba(245,247,251,1), rgba(245,247,251,0));
}

.pw-hscroll{
  display:flex;
  gap: 16px;
  overflow-x:auto;
  padding: 6px 0 18px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  background: transparent;
}
.pw-hscroll:focus{ outline: none; box-shadow: 0 0 0 4px rgba(189,156,58,.18); border-radius: 18px; }
.pw-hscroll::-webkit-scrollbar{ height: 0px; }
.pw-hscroll{ scrollbar-width: none; }

.pw-expert-card{
  scroll-snap-align: start;
  flex: 0 0 auto;
  width: 340px;
  max-width: calc(100vw - 76px);
  border-radius: 26px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 20px 55px rgba(11,36,59,.10);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  padding: 18px;
  display:flex;
  flex-direction:column;
  gap: 14px;
}

.pw-expert-top{ display:flex; align-items:center; gap: 12px; }
.pw-avatar{
  width: 56px;
  height: 56px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: radial-gradient(circle at 30% 30%, rgba(189,156,58,.25), rgba(11,36,59,.08));
  color: var(--brand-deep);
  font-weight: 900;
  overflow:hidden;
  flex: 0 0 auto;
  border: 1px solid rgba(11,36,59,.10);
}
.pw-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 18%;
  display:block;
}
.pw-avatar span{ font-size: 14px; letter-spacing:.06em; }
.pw-expert-name{ font-weight: 900; color: rgba(11,36,59,.92); line-height: 1.1; }
.pw-expert-sub{ margin-top: 3px; display:flex; align-items:center; gap: 8px; font-size: 13px; color: rgba(15,23,42,.58); }
.pw-review-dot{ width:10px; height:10px; border-radius:999px; background: rgba(34,197,94,.95); box-shadow: 0 0 0 4px rgba(34,197,94,.16); }

.pw-rating{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap: 6px;
  font-weight: 900;
  color: rgba(11,36,59,.92);
}

.pw-tags{ display:flex; flex-wrap:wrap; gap: 10px; }
.pw-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 8px 12px;
  border-radius: 14px;
  background: rgba(11,36,59,.035);
  border: 1px solid rgba(11,36,59,.08);
  font-weight: 800;
  font-size: 13px;
  color: rgba(11,36,59,.85);
}

.pw-expert-bottom{ margin-top:auto; display:flex; align-items:center; justify-content: space-between; gap: 12px; }
.pw-orders{ color: rgba(11,36,59,.90); }
.pw-orders-num{ font-size: 26px; font-weight: 900; letter-spacing: -.02em; }
.pw-orders-text{ font-size: 13px; color: rgba(15,23,42,.58); font-weight: 700; margin-left: 6px; }

@media (max-width: 640px){
  .pw-expert-card{ width: 312px; }
  .pw-hscroll-wrap:before,
  .pw-hscroll-wrap:after{ width: 46px; }
}

/* Base */
*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  overflow-x:hidden;
  color: var(--text);
  background:
    radial-gradient(1100px 520px at 18% 10%, rgba(189,156,58,.10), transparent 60%),
    radial-gradient(900px 500px at 82% 5%, rgba(11,36,59,.10), transparent 55%),
    linear-gradient(180deg, #f7f8fd, var(--bg));
}

a{ text-decoration:none; }
::selection{ background: rgba(189,156,58,.26); }

/* Lightweight form + button primitives used by new step checkout */
.pw-input,.pw-select,.pw-textarea{
  width:100%;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 10px 12px;
  background: #fff;
  color: var(--text);
  outline: none;
  box-shadow: 0 0 0 0 rgba(189,156,58,0);
  transition: box-shadow .15s ease, border-color .15s ease;
}
.pw-textarea{ padding: 12px; }
.pw-input:focus,.pw-select:focus,.pw-textarea:focus{
  border-color: rgba(189,156,58,.45);
  box-shadow: 0 0 0 4px rgba(189,156,58,.12);
}

.pw-btn{
  border: 1px solid var(--border);
  background: #fff;
  color: var(--text);
  border-radius: var(--radius);
  padding: 10px 14px;
  font-weight: 700;
  font-size: 14px;
  box-shadow: var(--shadow-sm);
}
.pw-btn:hover{ border-color: rgba(15,23,42,.18); }

.pw-btn-primary{
  border: 1px solid rgba(11,36,59,.15);
  background: linear-gradient(135deg, var(--c-gold), var(--c-bronze));
  color: #0b243b;
  border-radius: var(--radius);
  padding: 10px 16px;
  font-weight: 800;
  font-size: 14px;
  box-shadow: 0 16px 34px rgba(11,36,59,.18);
}
.pw-btn-primary:hover{ filter: brightness(1.02); }
.pw-btn-primary:disabled{ opacity:.6; cursor:not-allowed; }

/* Layout shell */
.portal-shell{ min-height:100vh; display:flex; }
.sidebar{
  width: 260px;
  background: linear-gradient(180deg, #0b243b, #071a2a);
  color: rgba(255,255,255,.92);
  position: sticky;
  top: 0;
  align-self: flex-start;
  height: 100vh;
  border-right: 1px solid rgba(255,255,255,.08);
}
.sidebar-inner{ height:100%; display:flex; flex-direction:column; padding: 14px; }
.brand{ display:flex; align-items:center; gap:10px; padding: 10px 10px 14px; }
.brand-mark{
  height: 36px; width: 36px; border-radius: 12px;
  display:flex; align-items:center; justify-content:center;
  font-weight: 800; letter-spacing:.02em;
  color: #0b243b;
  background: linear-gradient(135deg, var(--c-gold), var(--c-bronze));
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
}
.brand-title{ font-weight: 800; line-height: 1.1; }
.brand-sub{ font-size: 12px; opacity: .72; margin-top: 2px; }

.sidebar-group-title{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .55;
  padding: 12px 10px 8px;
}

.sidebar-link{
  display:flex; align-items:center; gap:10px;
  padding: 10px 10px;
  border-radius: 12px;
  font-weight: 650;
  font-size: 14px;
  color: rgba(255,255,255,.86);
  border: 1px solid transparent;
}
.sidebar-link:hover{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.10);
}
.sidebar-link.active{
  background: rgba(189,156,58,.16);
  border-color: rgba(189,156,58,.28);
  color:#fff;
}
.sidebar-icon{
  width: 18px; height: 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  opacity: .92;
  flex: 0 0 18px;
}
.sidebar-icon svg{ display:block; }

.sidebar-footer{
  margin-top:auto;
  padding: 12px 10px 6px;
  border-top: 1px solid rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content: space-between; gap:10px;
}
.sidebar-user{ min-width:0; }
.sidebar-user .email{ font-size: 12px; opacity:.85; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sidebar-user .role{ font-size: 11px; opacity:.55; margin-top: 2px; text-transform: uppercase; letter-spacing:.10em; }

.portal-content{ flex:1; min-width:0; }

.topbar{
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(245,247,251,.72);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
}
.topbar-inner{ display:flex; align-items:center; justify-content: space-between; gap: 12px; padding: 14px 18px; }
.topbar-left{ display:flex; align-items:center; gap:12px; min-width:0; }
.page-title{ font-size: 16px; font-weight: 800; color: var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.search{
  display:flex; align-items:center; gap: 10px;
  background: rgba(255,255,255,.86);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 9px 12px;
  min-width: 280px;
  box-shadow: 0 12px 30px rgba(2,6,23,.05);
}
.search input{ border:none; outline:none; width:100%; background:transparent; font-size: 14px; color: var(--text); }
.search .hint{ font-size: 12px; color: var(--muted-2); }

.content-wrap{ padding: 18px; }

/* Components */
.card, .panel{
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}
.panel{ background: var(--panel-2); }

.card-head{ padding: 14px 16px; border-bottom: 1px solid var(--border); display:flex; align-items:center; justify-content: space-between; gap: 12px; }
.card-title{ font-weight: 800; color: var(--text); }
.card-sub{ font-size: 12px; color: var(--muted); margin-top: 2px; }
.card-body{ padding: 16px; }

.kpi{ padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--radius); background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,1)); box-shadow: var(--shadow-sm); }
.kpi .label{ font-size: 12px; color: var(--muted); font-weight: 700; }
.kpi .value{ font-size: 24px; font-weight: 900; margin-top: 4px; color: var(--text); }

/* Inputs */
.input{ width:100%; border: 1px solid var(--border); background: rgba(255,255,255,.96); border-radius: 12px; padding: 10px 12px; font-size: 14px; outline:none; }
.input:focus{ border-color: rgba(189,156,58,.55); box-shadow: 0 0 0 4px rgba(189,156,58,.18); }
textarea.input{ resize: vertical; }

/* Buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap: 8px; padding: 10px 14px; border-radius: 12px; font-weight: 800; font-size: 13px; border: 1px solid transparent; transition: transform .05s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease; }
.btn:active{ transform: translateY(1px); }
.btn-primary{ background: var(--c-gold); color: #0b243b; box-shadow: 0 14px 34px rgba(189,156,58,.22); }
.btn-primary:hover{ background: var(--c-gold2); }
.btn-outline{ background: rgba(255,255,255,.94); border-color: var(--border-2); color: var(--text); }
.btn-outline:hover{ box-shadow: var(--shadow-sm); border-color: rgba(189,156,58,.35); }
.btn-navy{ background: var(--c-navy); color: #fff; }
.btn-navy:hover{ filter: brightness(1.06); box-shadow: 0 14px 34px rgba(11,36,59,.22); }

/* CTA button (hero) */
.btn-cta{
  background: linear-gradient(135deg, var(--c-gold), var(--c-bronze));
  color: #0b243b;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 18px 44px rgba(11,36,59,.26);
  position: relative;
  overflow: hidden;
}
.btn-cta:hover{
  filter: brightness(1.03);
  box-shadow: 0 24px 60px rgba(11,36,59,.34);
  transform: translateY(-1px);
}
.btn-cta:active{ transform: translateY(1px); }

@keyframes pwCtaPulse{
  0%,100%{ box-shadow: 0 18px 44px rgba(11,36,59,.26); }
  50%{ box-shadow: 0 24px 66px rgba(11,36,59,.36); }
}
@keyframes pwCtaShine{
  0%{ transform: translateX(-140%) rotate(18deg); opacity: 0; }
  20%{ opacity: .35; }
  100%{ transform: translateX(220%) rotate(18deg); opacity: 0; }
}

.btn-cta-anim::before{
  content:"";
  position:absolute;
  top:-70%;
  left:-60%;
  width: 40%;
  height: 240%;
  background: rgba(255,255,255,.46);
  transform: translateX(-140%) rotate(18deg);
  opacity: 0;
}
.btn-cta-anim:hover::before{
  animation: pwCtaShine 1.05s ease;
}

@media (prefers-reduced-motion: no-preference){
  .btn-cta-anim{ animation: pwCtaPulse 3.2s ease-in-out infinite; }
}

@keyframes pwFloat{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(-6px); }
}
@media (prefers-reduced-motion: no-preference){
  .pw-float{ animation: pwFloat 6.5s ease-in-out infinite; }
}

/* Pills */
.pill{ display:inline-flex; align-items:center; gap: 8px; padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 900; letter-spacing: .02em; border: 1px solid var(--border); background: rgba(255,255,255,.80); color: var(--text); }
.pill .dot{ width: 8px; height: 8px; border-radius: 999px; background: rgba(15,23,42,.35); }
.pill.ok{ border-color: rgba(34,197,94,.22); background: rgba(34,197,94,.08); }
.pill.ok .dot{ background: rgba(34,197,94,.85); }
.pill.warn{ border-color: rgba(245,158,11,.25); background: rgba(245,158,11,.10); }
.pill.warn .dot{ background: rgba(245,158,11,.95); }
.pill.bad{ border-color: rgba(239,68,68,.22); background: rgba(239,68,68,.08); }
.pill.bad .dot{ background: rgba(239,68,68,.90); }

/* Data table */
.data-table{ width:100%; border-collapse: separate; border-spacing: 0; }
.data-table thead th{ text-align:left; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); padding: 12px 12px; border-bottom: 1px solid var(--border); }
.data-table tbody td{ padding: 12px 12px; border-bottom: 1px solid rgba(15,23,42,.06); font-size: 14px; color: var(--text); vertical-align: middle; }
.data-table tbody tr:hover td{ background: rgba(189,156,58,.06); }

.avatar{ width: 30px; height: 30px; border-radius: 999px; display:inline-flex; align-items:center; justify-content:center; font-weight: 900; font-size: 12px; color: #0b243b; background: rgba(189,156,58,.18); border: 1px solid rgba(189,156,58,.30); }

/* Flash */
.flash{ padding: 12px 14px; border-radius: 14px; border:1px solid var(--border); font-weight: 700; }
.flash-ok{ background: rgba(34,197,94,.08); border-color: rgba(34,197,94,.20); }
.flash-err{ background: rgba(239,68,68,.08); border-color: rgba(239,68,68,.20); }

/* Responsive: collapse sidebar */
@media (max-width: 1024px){
  .sidebar{ position: fixed; left: -280px; transition:left .18s ease; z-index:50; }
  .sidebar.open{ left: 0; }
  .search{ min-width: 180px; }
}


/* Checkout Flow Polish */
/* Unified stepper */
.checkout-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.checkout-sub{color:var(--muted);margin-top:4px;font-size:14px}
.checkout-stepper{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.step-pill{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--border);background:rgba(255,255,255,.86);font-weight:750;font-size:13px;color:rgba(15,23,42,.72)}
.step-pill .n{width:20px;height:20px;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;border:1px solid var(--border);background:#fff;color:rgba(15,23,42,.7)}
.step-pill.active{background:rgba(189,156,58,.14);border-color:rgba(189,156,58,.30);color:var(--c-navy)}
.step-pill.active .n{background:linear-gradient(135deg,var(--c-gold),var(--c-bronze));border-color:rgba(11,36,59,.18);color:var(--c-navy)}
.step-pill.done{background:rgba(11,36,59,.06);border-color:rgba(11,36,59,.12)}
.step-pill.done .n{background:rgba(11,36,59,.10);border-color:rgba(11,36,59,.18);color:var(--c-navy)}
.step-sep{color:rgba(15,23,42,.28);font-weight:900}

/* Step 1 mini-wizard */
.mini-stepper{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mini-stepper .mstep{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:rgba(255,255,255,.86);padding:8px 10px;border-radius:var(--radius);font-weight:850;color:rgba(15,23,42,.74);cursor:pointer;transition:transform .08s ease, background .15s ease, border-color .15s ease}
.mini-stepper .mstep span{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius);background:rgba(11,36,59,.06);border:1px solid rgba(11,36,59,.14);font-size:11px;font-weight:900;color:var(--c-navy)}
.mini-stepper .mstep:hover{transform:translateY(-1px)}
.mini-stepper .mstep.active{background:rgba(189,156,58,.14);border-color:rgba(189,156,58,.30);color:var(--c-navy)}
.mini-stepper .mstep.active span{background:linear-gradient(135deg,var(--c-gold),var(--c-bronze));border-color:rgba(11,36,59,.18)}

.wizard{min-height:420px}
.w-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid rgba(15,23,42,.10)}
.w-actions .btns{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* Checkout sections */
.checkout-grid{display:grid;gap:16px}
@media(min-width:1024px){.checkout-grid{grid-template-columns:2fr 1fr;align-items:start}}
.checkout-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.checkout-card .card-h{padding:16px 16px 0}
.checkout-card .card-t{font-weight:850;font-size:14px;color:var(--text)}
.checkout-card .card-d{color:var(--muted);font-size:13px;margin-top:4px}
.checkout-card .card-b{padding:16px}
.form-grid{display:grid;gap:14px}
@media(min-width:768px){
  .form-grid.cols-1{grid-template-columns:1fr}
  .form-grid.cols-2{grid-template-columns:1fr 1fr}
  .form-grid.cols-3{grid-template-columns:1fr 1fr 1fr}
}
.field label{display:block;font-size:13px;font-weight:750;color:rgba(15,23,42,.76)}
.field .req{color:#ef4444;margin-left:4px}
.field .help{margin-top:6px;font-size:12px;color:var(--muted-2)}
.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius);font-size:12px;font-weight:800;border:1px solid var(--border);background:rgba(255,255,255,.86)}
.badge.gold{background:rgba(189,156,58,.14);border-color:rgba(189,156,58,.30);color:var(--c-navy)}

/* Writer level cards */
.level-cards{display:grid;gap:10px}
@media(min-width:640px){.level-cards{grid-template-columns:repeat(3,1fr)}}
.level-card{border:1px solid var(--border);border-radius:var(--radius);background:rgba(255,255,255,.9);padding:12px;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}
.level-card:hover{transform:translateY(-1px);border-color:rgba(15,23,42,.18);box-shadow:0 14px 30px rgba(2,6,23,.07)}
.level-card.active{border-color:rgba(189,156,58,.40);box-shadow:0 18px 44px rgba(189,156,58,.10)}
.level-card .h{font-weight:900}
.level-card .p{font-size:12px;color:var(--muted);margin-top:2px}
.level-card .tag{margin-top:10px;font-size:12px;font-weight:850;color:var(--c-navy);display:inline-flex;align-items:center;gap:6px}
.level-card .dot{width:8px;height:8px;border-radius:var(--radius);background:rgba(189,156,58,.9);box-shadow:0 0 0 4px rgba(189,156,58,.12)}

/* Hard cap rounding across Tailwind utilities (user requested <= 2px everywhere) */
.rounded, .rounded-sm, .rounded-md, .rounded-lg, .rounded-xl, .rounded-2xl, .rounded-3xl, .rounded-full{
  border-radius: var(--radius) !important;
}

/* File drop */
.drop{border:1.5px dashed rgba(15,23,42,.20);border-radius:var(--radius);background:rgba(11,36,59,.03);padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.drop strong{font-weight:900}
.drop .meta{font-size:12px;color:var(--muted)}
.drop input[type=file]{max-width:100%}

/* Sticky summary */
.sticky-card{position:sticky;top:92px}
.summary-lines{margin-top:12px;font-size:13px}
.summary-lines .row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;color:rgba(15,23,42,.78)}
.summary-lines .row strong{color:var(--text)}
.summary-total{margin-top:10px;padding-top:12px;border-top:1px solid var(--border)}
.summary-total .grand{display:flex;justify-content:space-between;align-items:baseline;font-size:18px;font-weight:950}
.summary-total .sub{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-top:6px}

/* Addon cards */
.addon-grid{display:grid;gap:10px}
.addon-card{border:1px solid var(--border);border-radius:var(--radius);background:rgba(255,255,255,.9);padding:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}
.addon-card:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(2,6,23,.07);border-color:rgba(15,23,42,.18)}
.addon-card .title{font-weight:900}
.addon-card .desc{color:var(--muted);font-size:12px;margin-top:4px;line-height:1.45}
.addon-card .price{font-weight:900;color:var(--c-navy);font-size:13px}
.addon-card .tick{width:22px;height:22px;border-radius:8px;border:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;margin-top:2px}
.addon-card.selected{border-color:rgba(189,156,58,.40);background:rgba(189,156,58,.08)}
.addon-card.selected .tick{background:linear-gradient(135deg,var(--c-gold),var(--c-bronze));border-color:rgba(11,36,59,.18);color:var(--c-navy)}

/* Accordion polish */
.accordion details{border:1px solid var(--border);border-radius:var(--radius);background:rgba(255,255,255,.92);overflow:hidden}
.accordion details+details{margin-top:10px}
.accordion summary{list-style:none;cursor:pointer;padding:12px 14px;font-weight:900;display:flex;align-items:center;justify-content:space-between}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary:after{content:'›';transform:rotate(90deg);opacity:.55;font-size:18px}
.accordion details[open] summary{background:rgba(11,36,59,.03)}
.accordion details[open] summary:after{transform:rotate(-90deg)}
.acc-body{padding:12px 14px;border-top:1px solid var(--border);background:rgba(255,255,255,.96)}

/* Modal polish */
.modal{position:fixed;inset:0;z-index:60;display:none}
.modal.show{display:block}
.modal .backdrop{position:absolute;inset:0;background:rgba(2,6,23,.56)}
.modal .dialog{position:relative;margin:56px auto 0;max-width:720px;padding:0 16px}
.modal .sheet{background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 26px 70px rgba(2,6,23,.24);overflow:hidden}
.modal .sheet-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:linear-gradient(180deg, rgba(11,36,59,.03), rgba(255,255,255,.96))}
.modal .sheet-title{font-weight:950}
.modal .sheet-sub{font-size:12px;color:var(--muted);margin-top:2px}
.modal .close{width:34px;height:34px;border-radius:var(--radius);border:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center}
.modal .close:hover{border-color:rgba(15,23,42,.18)}
.modal .sheet-b{padding:16px}
.modal .tabs{display:flex;gap:8px;background:rgba(11,36,59,.03);border:1px solid var(--border);border-radius:var(--radius);padding:6px}
.modal .tab{flex:1;text-align:center;padding:9px 10px;border-radius:var(--radius);font-weight:900;font-size:13px;color:rgba(15,23,42,.72);border:1px solid transparent;background:transparent}
.modal .tab.active{background:#fff;border-color:rgba(189,156,58,.30);color:var(--c-navy);box-shadow:0 12px 30px rgba(2,6,23,.06)}
.modal .actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.modal .err{margin-top:10px;color:#b91c1c;font-size:13px;font-weight:700}

/* Section headings inside long forms */
.section-h{font-weight:900;color:var(--c-navy);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}


/* Force minimal rounding across Tailwind utility classes */
.rounded, .rounded-sm, .rounded-md, .rounded-lg, .rounded-xl, .rounded-2xl, .rounded-3xl, .rounded-full,
[class~="rounded"], [class~="rounded-sm"], [class~="rounded-md"], [class~="rounded-lg"], [class~="rounded-xl"], [class~="rounded-2xl"], [class~="rounded-3xl"], [class~="rounded-full"]{
  border-radius: 2px !important;
}
