.mposter-wrap { max-width: 960px; margin: 24px auto; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.mposter-note { background:#f6f7fb; border:1px solid #e6e8f0; padding:12px 16px; border-radius:8px; margin-bottom:16px; font-size:14px; }

.mposter-accordion { border:1px solid #e1e4ea; border-radius:10px; overflow:hidden; }
.mposter-item + .mposter-item { border-top:1px solid #e1e4ea; }
.mposter-header { background:#fff; padding:14px 16px; cursor:pointer; display:flex; align-items:center; justify-content:space-between; }
.mposter-header h3 { margin:0; font-size:16px; font-weight:600; }
.mposter-panel { display:none; background:#fafbff; padding:16px; }
.mposter-item.active .mposter-panel { display:block; }
.mposter-item.active .mposter-header { background:#f0f4ff; }
 
.mposter-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.mposter-field { display:flex; flex-direction:column; gap:6px; }
.mposter-field label { font-size:13px; font-weight:600; color:#14181f; }
.mposter-field input, .mposter-field select { padding:10px 12px; border:1px solid #cfd6e4; border-radius:8px; font-size:14px; background:#fff; }
.mposter-helper { font-size:12px; color:#6b7280; }

.mposter-actions { display:flex; gap:12px; margin-top:16px; }
.mposter-btn { border:0; border-radius:8px; padding:10px 14px; font-weight:600; cursor:pointer; }
.mposter-btn.primary { background:#2f5aff; color:#fff; }
.mposter-btn.soft { background:#eef2ff; color:#1e3a8a; }
 
.mposter-posters { position:fixed; left:-99999px; top:-99999px; width:0; height:0; overflow:hidden; }

.poster-canvas { width:1080px; height:1528px; /* A4-ish @ 96dpi portrait */ box-sizing:border-box; padding:40px; background:#ffffff; color:#111827; border:1px solid #e5e7eb; }
.poster-title { text-align:center; font-size:28px; font-weight:800; margin-bottom:18px; }
.poster-meta { text-align:center; font-size:13px; color:#6b7280; margin-bottom:20px; }
.poster-table { width:100%; border-collapse:collapse; font-size:16px; }
.poster-table tr { border-bottom:1px dashed #e5e7eb; }
.poster-table td { padding:10px 8px; vertical-align:top; }
.poster-label { width:36%; font-weight:700; color:#374151; }
.poster-value { width:64%; color:#111827; }

.poster-footer { margin-top:20px; font-size:12px; color:#6b7280; text-align:center; }
.mposter-header { gap:12px }
.mposter-header .section-status {
  display:flex; align-items:center; gap:8px; font-size:12px; color:#374151;
}
.mposter-header .section-status input[type="checkbox"] {
  width:16px; height:16px; accent-color:#2f5aff; cursor:not-allowed;
}
.mposter-progress {
  margin:12px 0 16px; height:8px; background:#eef2ff; border-radius:999px; overflow:hidden;
}
.mposter-progress > span { display:block; height:100%; width:0; background:#2f5aff; transition:width .25s ease; }

/* Full-screen loader */
#mposter-loading[hidden] { display: none !important; }
#mposter-loading {
  position: fixed; inset: 0; z-index: 9999;
  display: grid; place-items: center;
  background: rgba(0,0,0,.4);
  backdrop-filter: blur(1px);
}
#mposter-loading .box {
  min-width: 260px; padding: 16px 18px; border-radius: 10px;
  background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.2);
  display: grid; gap: 10px; justify-items: center; text-align: center;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
#mposter-loading .spinner {
  width: 28px; height: 28px; border-radius: 50%;
  border: 3px solid #e5e7eb; border-top-color: #754313;
  animation: mposter-spin 0.8s linear infinite;
}
#mposter-loading .msg { font-size: 14px; color: #111827; }
@keyframes mposter-spin { to { transform: rotate(360deg); } }

/* Optional: dim form while busy */
.mposter-wrap[aria-busy="true"] { pointer-events: none; opacity: .6; }

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f5f5f5;
    color: #333;
    line-height: 1.6;
}

.container {
    max-width: 100%;
/*     margin: 0 auto; */
    padding: 20px;
    background-color: #fff;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
}

.main-title {
    text-align: center;
    color: #2c3e50;
    margin-bottom: 30px;
    font-size: 2.5em;
    font-weight: 600;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
}

/* Section Styles */
.section {
    margin-bottom: 25px;
    border: 2px solid #e3f2fd;
    border-radius: 10px;
    overflow: hidden;
    background-color: #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.section:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.section.collapsed .section-content {
    display: none;
}

.section-header {
    background: linear-gradient(135deg, #2196F3, #1976D2);
    color: white;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    transition: background 0.3s ease;
}

.section-header:hover {
    background: linear-gradient(135deg, #1976D2, #1565C0);
}

.section-header h2 {
    font-size: 1.4em;
    font-weight: 600;
    margin: 0;
	color: white
}

.toggle-btn {
    background-color: #ffffff00 !important;
    border: none;
    color: white;
    font-size: 1.2em;
    cursor: pointer;
    padding: 5px 10px;
    border-radius: 4px;
/*     transition: background 0.3s ease; */
}

.toggle-btn:hover {
    background: rgba(255, 255, 255, 0.2);
}

.section-content {
    padding: 25px;
    background-color: #fafafa;
}

/* Form Styles */
.form-row {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.form-group {
    flex: 1;
    min-width: 250px;
    margin-bottom: 15px;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    color: #2c3e50;
    font-size: 14px;
}

.gujarati-label {
    font-size: 12px !important;
    color: #7f8c8d !important;
    font-weight: 400 !important;
    margin-bottom: 8px !important;
    font-family: 'Noto Sans Gujarati', Arial, sans-serif;
}

.form-group input, .form-group select, .form-group textarea {
    width: 100%;
    padding: 8px 15px;
    border: none;
    border-bottom: 1px solid #cfcfcf;
    border-radius: 0;
    font-size: 14px;
    transition: all 0.3s ease;
    background-color: #ffffff00;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #2196F3;
    box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);
    transform: translateY(-1px);
}

.form-group input:hover,
.form-group select:hover,
.form-group textarea:hover {
    border-color: #bbb;
}

.required {
    color: #e74c3c;
    font-weight: bold;
}

/* Radio Button Styles */
.radio-group {
    display: flex;
    flex-direction: column;
    margin-top: 10px;
}

.radio-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px;
    border-radius: 6px;
    transition: background 0.3s ease;
}

.radio-item:hover {
    background-color: #f0f0f0;
}

.radio-item input[type="radio"] {
    width: auto;
    margin: 0;
    transform: scale(1.2);
}

.radio-item label {
    margin: 0;
    font-weight: normal;
    cursor: pointer;
}

/* Button Styles */
.btn {
    padding: 12px 24px;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.btn-primary {
    background: linear-gradient(135deg, #2196F3, #1976D2);
    color: white;
}

.btn-primary:hover {
    background: linear-gradient(135deg, #1976D2, #1565C0);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(33, 150, 243, 0.3);
}

.btn-secondary {
    background: linear-gradient(135deg, #757575, #616161);
    color: white;
}

.btn-secondary:hover {
    background: linear-gradient(135deg, #616161, #424242);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(117, 117, 117, 0.3);
}

.btn-success {
    background: linear-gradient(135deg, #4CAF50, #388E3C);
    color: white;
    font-size: 16px;
    padding: 15px 30px;
}

.btn-success:hover {
    background: linear-gradient(135deg, #388E3C, #2E7D32);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(76, 175, 80, 0.3);
}

.btn-edit {
    background: linear-gradient(135deg, #FF9800, #F57C00);
    color: white;
    padding: 6px 12px;
    font-size: 12px;
    margin-right: 5px;
}

.btn-edit:hover {
    background: linear-gradient(135deg, #F57C00, #E65100);
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(255, 152, 0, 0.3);
}

.btn-delete {
    background: linear-gradient(135deg, #f44336, #d32f2f);
    color: white;
    padding: 6px 12px;
    font-size: 12px;
}

.btn-delete:hover {
    background: linear-gradient(135deg, #d32f2f, #b71c1c);
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(244, 67, 54, 0.3);
}

/* Witness Section Styles */
.witness-buttons {
    display: flex;
    gap: 15px;
    margin: 20px 0;
}

.witness-note {
    background-color: #fff3cd;
    border: 1px solid #ffeaa7;
    border-radius: 6px;
    padding: 15px;
    margin: 20px 0;
    color: #856404;
}

.witness-note p {
    margin: 5px 0;
}

.gujarati-text {
    font-family: 'Noto Sans Gujarati', Arial, sans-serif;
    font-weight: 600;
}

/* Table Styles */
.witness-table-container {
    margin-top: 20px;
    overflow-x: auto;
}

.witness-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.witness-table thead {
    background: linear-gradient(135deg, #34495e, #2c3e50);
    color: white;
}

.witness-table th,
.witness-table td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #e0e0e0;
}

.witness-table th {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.witness-table tbody tr:hover {
    background-color: #f8f9fa;
}

.witness-table tbody tr:nth-child(even) {
    background-color: #fafafa;
}

/* Submit Section */
.form-submit {
    text-align: center;
    margin-top: 40px;
    padding: 30px;
    background: linear-gradient(135deg, #ecf0f1, #bdc3c7);
    border-radius: 10px;
}

/* Success Message */
.success-message {
    background: linear-gradient(135deg, #d4edda, #c3e6cb);
    border: 2px solid #28a745;
    border-radius: 10px;
    padding: 20px;
    margin: 20px 0;
    text-align: center;
    color: #155724;
}

.success-message h3 {
    margin-bottom: 10px;
    color: #28a745;
}

/* Responsive Design */
@media (max-width: 768px) {
    .container {
        padding: 15px;
    }
    
    .main-title {
        font-size: 2em;
    }
    
    .form-row {
        flex-direction: column;
    }
    
    .form-group {
        min-width: 100%;
    }
    
    .section-header h2 {
        font-size: 1.2em;
    }
    
    .witness-buttons {
        flex-direction: column;
    }
    
    .witness-table {
        font-size: 12px;
    }
    
    .witness-table th,
    .witness-table td {
        padding: 8px 10px;
    }
}

@media (max-width: 480px) {
    .main-title {
        font-size: 1.8em;
    }
    
    .section-content {
        padding: 15px;
    }
    
    .btn {
        padding: 10px 20px;
        font-size: 12px;
    }
    
    .btn-success {
        padding: 12px 24px;
        font-size: 14px;
    }
}

/* Animation */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.section {
    animation: fadeIn 0.6s ease-out;
}

/* Focus and Accessibility */
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: 3px solid rgba(33, 150, 243, 0.3);
    outline-offset: 2px;
}

.btn:focus {
    outline: 3px solid rgba(33, 150, 243, 0.3);
    outline-offset: 2px;
}

/* Print Styles */
@media print {
    .toggle-btn,
    .witness-buttons,
    .form-submit {
        display: none;
    }
    
    .section-content {
        display: block !important;
    }
    
    .container {
        box-shadow: none;
        max-width: 100%;
    }
}

.form-subrow{
	display: flex;
	gap: 10px;
}

.btn.loading { position: relative; pointer-events: none; opacity: .8; }
.btn.loading .btn-text { visibility: hidden; }
.btn.loading::after {
  content: "";
  position: absolute; top: 50%; left: 50%;
  width: 16px; height: 16px; margin: -8px 0 0 -8px;
  border: 2px solid currentColor; border-top-color: transparent;
  border-radius: 50%; animation: spin 1s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

  .dual { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
  .dual > .dual-col { display: flex; flex-direction: column; gap: 6px; }
  .dual small { color:#6b7280; font-size:12px; }

:root {
  --brand:#0E74BC;       /* brand blue */
  --brand-600:#0d66a4;   /* darker shade */
  --brand-700:#0b568b;   /* even darker shade */
  --brand-50:#e6f3fa;    /* lightest tint */
  --ink:#0f172a;
  --muted:#64748b;
  --border:#e2e8f0;
  --radius:12px;
  --shadow:0 6px 24px rgba(0,0,0,.06);
}

:root{
  --sb-bg: #ffffff;
  --sb-border: #E5E7EB;        /* neutral-200 */
  --sb-text: #111827;          /* neutral-900 */
  --sb-muted: #6B7280;         /* neutral-500 */
  --sb-brand: #0F766E;         /* teal-700 */
  --sb-brand-ink: #065F46;     /* teal-800 */
  --sb-accent: #C2410C;        /* your orange family for headings */
  --sb-focus: #1D4ED8;         /* blue focus ring */
}


/* Layout + Sidebar */
.layout{
  display:grid;
  grid-template-columns: 290px 1fr;
  gap:24px;
  max-width:100% !important;
  margin:24px auto;
  padding:0 16px;
}

/* Panel */
.form-sidebar{
  position: sticky;
  top: 24px;
  align-self: start;

  background: var(--sb-bg);
  border: 1px solid var(--sb-border);
  border-radius: 12px;
  padding: 16px 14px;
height: 600px;
  box-shadow: 0 1px 0 rgba(0,0,0,.02), 0 6px 18px rgba(17,24,39,.06);
}

/* Brand row */
.form-sidebar .sb-brand{
  display:flex; align-items:center; gap:10px;
  padding: 6px 8px 12px;
  border-bottom: 1px solid var(--sb-border);
  margin-bottom: 12px;
}

.sb-dot{
  width:12px;height:12px;border-radius:999px;
  background: var(--sb-brand);
  box-shadow: 0 0 0 3px rgba(15,118,110,.15);
}
.sb-title{
  font: 600 15px/1.2 system-ui, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--sb-text);
  letter-spacing:.2px;
}
.sb-sub{
  font: 12px/1.2 system-ui, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--sb-muted);
  margin-top: 2px;
}

/* Nav */
.sb-nav{
  display:flex; flex-direction:column; gap:6px;
  padding: 6px 2px 2px;
}

/* Links – pill buttons */
.sb-nav a{
  display:block;
  padding: 10px 12px;
  border-radius: 8px;
  text-decoration:none;
  color: var(--sb-text);
  background: transparent;
  border: 1px solid transparent;
  font: 500 14px/1.3 system-ui,"Segoe UI",Roboto,Arial,sans-serif;

  transition: background .15s ease, border-color .15s ease, color .15s ease;
}

/* Hover */
.sb-nav a:hover{
  background: #F9FAFB; /* neutral-50 */
  border-color: var(--sb-border);
}

/* Active */
.sb-nav a.active{
  background: #ECFDF5;                 /* teal-50 */
  border-color: #99F6E4;               /* teal-200-ish */
  color: var(--sb-brand-ink);
  position: relative;
}
.sb-nav a.active::before{
  content:"";
  position:absolute; left:-14px; top:10px; bottom:10px;
  width:3px; border-radius:2px;
  background: var(--sb-brand);
}

/* Focus (keyboard) */
.sb-nav a:focus-visible{
  outline: 3px solid var(--sb-focus);
  outline-offset: 2px;
}

/* Section "Tip" box (if you re-enable it) */
.sb-help{
  margin-top: 14px;
  padding: 10px 12px;
  background: #F8FAFC;              /* slate-50 */
  border: 1px solid var(--sb-border);
  border-radius: 8px;
  color: var(--sb-muted);
  font: 13px/1.4 system-ui,"Segoe UI",Roboto,Arial,sans-serif;
}
.sb-note{
  font-weight:600; color:#374151; margin-bottom:4px;
}

/* Responsive – stack on small screens */
@media (max-width: 960px){
  .layout{ grid-template-columns: 1fr; }
  .form-sidebar{ position: static; order: -1; }
}

/* Print – hide sidebar */
@media print{
  .form-sidebar{ display:none !important; }
}

/* High contrast mode (Windows/OS) */
@media (forced-colors: active){
  .form-sidebar,
  .sb-nav a{ border: 1px solid CanvasText; }
  .sb-nav a.active{ background: Highlight; color: HighlightText; }
}


/* Orange theme overrides */
.theme-orange .section-header{
  background:linear-gradient(135deg, var(--brand), var(--brand-700)) !important;
  color:#fff !important;
}
.theme-orange .section-header h2{color:#fff !important}
.theme-orange .toggle-btn{color:#fff !important}
.theme-orange .section{border-color: var(--brand-50)}
.theme-orange .section-content{background:#ffffff}
.theme-orange .main-title{color:var(--brand-700)}
.theme-orange .required{color:var(--brand-700)}
.theme-orange .form-group input,
.theme-orange .form-group select,
.theme-orange .form-group textarea{
  border-bottom-color:#f7c9a3;
}
.theme-orange .form-group input:focus,
.theme-orange .form-group select:focus,
.theme-orange .form-group textarea:focus{
  border-color:var(--brand) !important;
  box-shadow:0 0 0 3px color-mix(in oklab, var(--brand) 25%, transparent) !important;
}
.theme-orange input[type="radio"]{accent-color:var(--brand)}
.theme-orange .btn-success{
  background:linear-gradient(135deg, var(--brand), var(--brand-700)) !important;
  color:#fff;
}
.theme-orange .btn-success:hover{
  background:linear-gradient(135deg, var(--brand-600), var(--brand-700)) !important;
  box-shadow:0 4px 8px rgba(234, 88, 12, .25);
}


@media (min-width: 922px) {
.ast-container {
    max-width: 100% !important;
}}


/* Small screens */
@media (max-width:720px){
  .req-checklist-list{ grid-template-columns:1fr; }
}

.mp-sameas {
  display:flex; align-items:center; justify-content:flex-end;
  gap:8px; margin:6px 0 8px; font:500 13px/1.3 system-ui,Segoe UI,Roboto,Arial;
  color:#0f172a;
}
.mp-sameas input[type="checkbox"]{ width:16px; height:16px; accent-color: var(--brand, #f97316); }
.mp-sameas .hint{ color:#6b7280; font-weight:400; }

/* inline "Same as..." next to the section's address label */
.mp-sameas-inline{
  margin-left:auto; display:inline-flex; align-items:center; gap:8px;
  font:500 13px/1.3 system-ui,Segoe UI,Roboto,Arial; color:#0f172a;
}
.mp-sameas-inline input[type="checkbox"]{ width:16px; height:16px; accent-color: var(--brand,#f97316); }
/* === Checklist Floating Button (icon only) === */
.req-checklist-btn{
  position:fixed; right:16px; top:160px; z-index:10000;
  width:46px; height:46px; border-radius:999px;
  display:grid; place-items:center;
  background:#fff; border:1px solid var(--border);
  box-shadow:0 10px 24px rgba(0,0,0,.10);
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
	padding: 0 !important;
}
.req-checklist-btn:hover{ background:#fff; transform:translateY(-1px); box-shadow:0 14px 30px rgba(0,0,0,.14); border-color:#e5e7eb; }
.req-checklist-btn svg{ width:45px; height:45px; fill: var(--brand); }

/* === Checklist Modal (brand look) === */
.req-checklist-modal{ position:fixed; inset:0; z-index:10001; display:grid; place-items:center; background:rgba(15,23,42,.45); }
.req-checklist-modal[hidden]{ display:none !important; }

.req-modal-box{
  width:min(500px,92vw); max-height:min(82vh,900px); overflow:auto;
  background:#fff; border-radius:14px;
  box-shadow:0 28px 60px rgba(0,0,0,.28);
  border:1px solid #eef2f7;
}

.req-modal-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 16px;
  background: linear-gradient(135deg, var(--brand), var(--brand-700));
  color:#fff;
  border-top-left-radius:14px; border-top-right-radius:14px;
}
.req-modal-head strong{ font:700 15px/1.2 system-ui,Segoe UI,Roboto,Arial; letter-spacing:.2px; }
.req-modal-head button{
  width:36px; height:36px; border-radius:10px; border:1px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.15); color:#fff; font-size:18px; cursor:pointer; padding: 0 !important;
}
.req-modal-head button:hover{ background: rgba(255,255,255,.25); }

.req-modal-body{ padding:16px; background:#fff; }
.req-modal-foot{
  padding:12px 16px; background:#fafafa; border-top:1px solid #eef2f7;
  display:flex; align-items:center; gap:12px;
}

/* Grid of cards */
.req-checklist-list{
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
}
@media (max-width:720px){ .req-checklist-list{ grid-template-columns:1fr; } }

/* Card */
.req-checklist-list .item{
  display:flex; gap:10px; padding:12px; align-items:flex-start;
  background:#fff; border:1px solid #eef2f7; border-radius:12px;
  box-shadow:0 2px 10px rgba(0,0,0,.03);
}
.req-checklist-list .item.done{
  background: color-mix(in oklab, var(--brand) 6%, white);
  border-color: color-mix(in oklab, var(--brand) 25%, #e0f2fe);
}
.req-checklist-list .label{ font:600 13px/1.35 system-ui,Segoe UI,Roboto,Arial; color:#0f172a; }
.req-checklist-list .hint{ font:12px/1.3 system-ui; color:#6b7280; }

/* Brand accent for the tiny checkboxes */
.req-checklist-list input[type="checkbox"]{ width:16px; height:16px; margin-top:2px; accent-color: var(--brand); }

/* Progress */
.req-progress-wrap{ flex:1; height:10px; background:#f1f5f9; border-radius:999px; overflow:hidden; }
.req-progress-bar{ height:100%; width:0; background: linear-gradient(90deg, var(--brand), var(--brand-700)); transition:width .2s ease; }
.req-progress-text{ font:12px/1.2 system-ui; color:#334155; }

#primary{
	margin: 0 !important;
}

.site-counter{
  text-align:center;
  font:600 14px/1.4 system-ui,Segoe UI,Roboto,Arial;
  color:#c2410c;               /* var(--brand-700) */
  padding:12px;
  background:#fff7ed;          /* var(--brand-50) */
  border-top:2px solid #f97316;/* var(--brand) */
}

#content > div{
  padding: 0 !important;	
}
/* Checklist single column */
.req-checklist-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* Each item card */
.req-checklist-list .item{
  display:flex; gap:10px; padding:12px;
  border:1px solid #e5e7eb; border-radius:10px;
  background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.04);
  align-items:flex-start;
}
.req-checklist-list .item.done{
  background:#f0fdf4; border-color:#86efac;
}

.req-checklist-list .label{ font:600 13px/1.35 system-ui,Segoe UI,Roboto,Arial; color:#0f172a; }
.req-checklist-list .hint{ display:none !important; font:12px/1.3 system-ui; color:#6b7280; }
.req-checklist-list .section-head{ font:14px/1.2 system-ui; color:var(--brand); font-weight:600; text-transform:uppercase; margin-bottom:2px; letter-spacing:.3px; }

/* Checkbox */
.req-checklist-list input[type="checkbox"]{ width:16px; height:16px; margin-top:2px; accent-color: var(--brand); }

/* ==== Sidebar Accordion – theme-matched (uses your CSS variables) ==== */

/* Container tweaks */
.form-sidebar{
  background: var(--sb-bg);
  border: 1px solid var(--sb-border);
  border-radius: 12px;
  padding: 14px;
  box-shadow: 0 1px 0 rgba(0,0,0,.02), 0 6px 18px rgba(17,24,39,.06);
}

/* Home button in sidebar */
.sb-home-btn{
  appearance: none;
  width: 100%;
  border: 0;
  border-radius: 10px;
  padding: 12px 14px;
  background: transparent;
  color: var(--sb-text, #374151);
  font: 700 14px/1.2 system-ui, "Segoe UI", Roboto, Arial, sans-serif;
  letter-spacing: .2px;
  cursor: pointer;
  display: flex; align-items: center; gap: 10px;
  transition: background .15s ease, color .15s ease, transform .1s ease;
  margin-bottom: 6px;
}
.sb-home-btn:hover{ background: color-mix(in oklab, var(--brand) 12%, white); color: var(--brand-700); }
.sb-home-btn:active{ transform: translateY(1px); }
.sb-home-btn.active{
  background: linear-gradient(135deg, var(--brand), var(--brand-700));
  color: #fff;
  box-shadow: 0 4px 14px rgba(250,120,50,.18);
}

/* Accordion header button – styled as submenu items */
.sb-accordion{
  appearance: none;
  width: 100%;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 10px 12px;
  margin-left: 8px;
  width: calc(100% - 8px);
  background: transparent;
  color: var(--sb-text, #374151);
  font: 600 13px/1.25 system-ui, "Segoe UI", Roboto, Arial, sans-serif;
  cursor: pointer;
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.sb-accordion:hover{
  background: #F9FAFB;
  border-color: var(--sb-border);
}
.sb-accordion:active{ transform: translateY(1px); }
.sb-accordion.active{
  background: color-mix(in oklab, var(--brand) 8%, white);
  border-color: color-mix(in oklab, var(--brand) 30%, #f1f5f9);
  color: var(--brand-700);
}

/* Chevron */
.sb-accordion::after{
  content: "▸";
  font-size: 14px; line-height: 1; opacity: .6;
  transform: rotate(0deg);
  transition: transform .18s ease;
}
.sb-accordion[aria-expanded="true"]::after{ transform: rotate(90deg); opacity: .9; }

/* Submenu list (hidden by default via [hidden]) */
.sb-submenu{
  margin-top: 10px;
  padding: 6px 2px 2px 2px;
  list-style: none;            /* no bullets */
}
.sb-submenu li{ list-style: none; margin: 0; padding: 0; }

/* Submenu links – compact, neutral pills */
.sb-submenu .sb-link{
  width: 100%;
  text-align: left;
  border: 1px solid transparent;
  background: transparent;
  color: var(--sb-text);
  padding: 8px 10px;
  border-radius: 8px;
  cursor: pointer;
  font: 500 13px/1.25 system-ui, "Segoe UI", Roboto, Arial, sans-serif;
  transition: background .15s ease, border-color .15s ease, color .15s ease, transform .06s ease;
  position: relative;
}

/* hover/focus states */
.sb-submenu .sb-link:hover{
  background: #F9FAFB;                 /* neutral-50 */
  border-color: var(--sb-border);
}
.sb-submenu .sb-link:focus-visible{
  outline: 3px solid var(--sb-focus);
  outline-offset: 2px;
}

/* active/selected item */
.sb-submenu .sb-link.active{
  background: color-mix(in oklab, var(--brand) 8%, white);
  border-color: color-mix(in oklab, var(--brand) 30%, #f1f5f9);
  color: var(--brand-700);
}
.sb-submenu .sb-link.active::before{
  content:"";
  position:absolute; left:-10px; top:8px; bottom:8px;
  width:3px; border-radius:2px;
  background: var(--brand);
}

/* Sub-buttons container (shown on Home click) */
.sb-sub-buttons{
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 4px;
  padding-left: 6px;
  border-left: 2px solid var(--sb-border, #E5E7EB);
  margin-left: 14px;
}
.sb-sub-buttons[hidden]{
  display: none;
}

/* Remove those bullet dots from any UA styles */
.sb-nav, .sb-nav ul, .sb-nav li{ list-style:none; }

/* Make the sidebar breathe a bit */
.sb-nav{ display:flex; flex-direction:column; gap:6px; }

/* Mobile: make tap targets comfy */
@media (max-width: 960px){
  .sb-accordion{ padding: 12px; }
  .sb-submenu .sb-link{ padding: 10px 12px; font-size: 14px; }
}

/* If you use dark cookie bar or other overlays, keep z-index sane */
.form-sidebar{ z-index: 1; }

  /* Make disabled nav truly unclickable */
  .sb-link[aria-disabled="true"]{opacity:.45;cursor:not-allowed;pointer-events:none}
  /* Status dot / check */
  .sb-link{display:flex;align-items:center;gap:8px}
  .sb-link .sb-status{margin-left:auto;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center}
  .sb-status::before{content:"";display:block;width:10px;height:10px;border-radius:999px;background:#0E74BC;}
  .sb-link.done .sb-status::before{content:"✔";width:auto;height:auto;background:none;font-size:12px;line-height:1}
  /* Hide dot on the “Registration Form” item */
  .sb-link[data-showform="1"] .sb-status{display:none!important}
  /* OK button row */
  .section .ok-row{display:flex;justify-content:flex-end;padding:8px 0 0}
  .section .ok-btn{border:1px solid #0E74BC;;background:#0E74BC;color:#fff;padding:8px 12px;border-radius:6px;cursor:pointer}
  .section .ok-btn[disabled]{opacity:.5;cursor:not-allowed}


/* === Review Modal (theme-matched) === */
.mp-modal {
  position: fixed; inset: 0; z-index: 100000;
  display: grid; place-items: center;
  background: rgba(15,23,42,.45);
  backdrop-filter: blur(1px);
}
.mp-modal[hidden]{ display:none !important; }

.mp-modal-box{
  width:min(1000px, 94vw);
  max-height: min(88vh, 1200px);
  background:#fff;
  border:1px solid var(--sb-border, #E5E7EB);
  border-radius: var(--radius, 12px);
  box-shadow: var(--shadow, 0 6px 24px rgba(0,0,0,.06));
  display:flex; flex-direction:column; overflow:hidden;
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

.mp-modal-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 16px;
  background: linear-gradient(135deg, var(--brand, #0E74BC), var(--brand-700, #0b568b));
  color:#fff;
}
.mp-modal-head strong{ font:700 15px/1.2 system-ui,Segoe UI,Roboto,Arial; letter-spacing:.2px; }

.mp-tabs{ display:flex; gap:8px; }
.mp-tab{
  border:1px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.15);
  color:#fff;
  border-radius: 8px; padding:6px 10px; cursor:pointer;
}
.mp-tab:hover{ background: rgba(255,255,255,.25); }
.mp-tab.active{
  background:#fff; color: var(--brand-700, #0b568b);
  border-color:#fff;
}

.mp-modal-body{ padding: 0; background:#fff; overflow:auto; }
.mp-pane{ padding:16px; min-height:320px; }

.mp-preview{
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
}
@media (max-width: 900px){ .mp-preview{ grid-template-columns:1fr; } }

.mp-card{
  border:1px solid var(--sb-border, #E5E7EB);
  border-radius:10px; padding:12px; background:#fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
.mp-card h4{ margin:0 0 10px; font-size:15px; color:#2c3e50; }

.mp-row{
  display:flex; justify-content:space-between; gap:10px;
  padding:8px 0; border-bottom:1px dashed #e5e7eb;
}
.mp-row:last-child{ border-bottom:none; }
.mp-key{ font-weight:600; color:#374151; }
.mp-val{ color:#111827; text-align:right; word-break:break-word; max-width:60%; }

.mp-modal-foot{
  display:flex; justify-content:flex-end; gap:10px;
  padding:12px 16px; background:#fafafa; border-top:1px solid #eef2f7;
}

/* Use your existing .btn styles */
#mpCancelPreview { /* secondary/soft look */
  composes: btn from global; /* if your build supports; otherwise keep classes inline */
}
#mpConfirmPreview { /* primary confirm */
  composes: btn btn-success from global;
}
