@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#172a3a;--ink:#1c2933;--muted:#71808b;--line:#e4e9ed;--paper:#fff;--bg:#f5f7f8;--teal:#1c766f;--teal2:#e9f4f2;--gold:#b17c36;--shadow:0 8px 28px rgba(23,42,58,.06)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}.topbar{height:72px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-logo{display:block;width:78px;height:50px;object-fit:contain;background:#f2f2f5;border-radius:6px;padding:2px 5px}.brand-name{min-width:0}.brand strong{display:block;font:700 16px Manrope;letter-spacing:.1px}.brand small{color:#b4c1c9;font-size:11px}.top-actions{display:flex;align-items:center;gap:22px}.privacy{font-size:12px;color:#d2dce1}.dot{display:inline-block;width:7px;height:7px;background:#77c7a7;border-radius:50%;margin-right:7px}.shell{display:grid;grid-template-columns:235px minmax(0,1fr);max-width:1500px;margin:auto;min-height:calc(100vh - 72px)}.sidebar{background:#fbfcfc;border-right:1px solid var(--line);padding:30px 16px;display:flex;flex-direction:column;gap:6px}.side-label{font-size:10px;letter-spacing:1.3px;font-weight:700;color:#99a5ad;padding:5px 12px 10px}.nav-item{border:0;background:transparent;text-align:left;padding:12px;border-radius:8px;color:#52616b;cursor:pointer;font:600 13px 'DM Sans';display:flex;align-items:center;gap:12px}.nav-item span{font-size:10px;color:#9aa6ad;min-width:18px}.nav-item:hover,.nav-item.active{background:#eaf3f2;color:#165f5a}.nav-item.active span{color:#1c766f}.side-divider{height:1px;background:var(--line);margin:16px 8px}.side-note{margin-top:auto;background:#f0f4f5;border-radius:10px;padding:14px;color:#66747d;font-size:11px;line-height:1.55}.side-note strong{color:#30414c;font-size:12px}.side-note p{margin:6px 0 0}.workspace{padding:34px 42px 24px;min-width:0}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:1.4px;color:#8b989f;font-weight:700}.page-heading h1{font:800 29px Manrope;margin:8px 0 5px;color:var(--navy)}.page-heading p,.section-intro p{margin:0;color:var(--muted);font-size:13px}.heading-actions{display:flex;gap:9px}.btn{border-radius:7px;padding:10px 15px;font:600 12px 'DM Sans';cursor:pointer;border:1px solid transparent;transition:.15s}.btn-primary{background:var(--teal);color:white}.btn-primary:hover{background:#155f59}.btn-outline{background:white;border-color:#d9e0e4;color:#40515c}.btn-quiet{background:transparent;color:#fff;border-color:#5d7380}.btn-quiet:hover{background:#2a4051}.tab-panel{display:none;animation:fade .2s ease}.tab-panel.active{display:block}@keyframes fade{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}.section-intro{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.section-intro h2{font:700 19px Manrope;margin:0 0 5px;color:#263b49}.step-pill{font-size:10px;letter-spacing:.8px;color:#71828c;background:#edf1f3;padding:7px 10px;border-radius:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.form-grid.compact{margin-top:20px}.form-grid label,.full-label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#485a65}.full-label{margin-top:18px}input,select,textarea{width:100%;border:1px solid #dce3e7;background:#fff;border-radius:7px;padding:11px 12px;color:#23343f;font:13px 'DM Sans';outline:none}input:focus,select:focus,textarea:focus{border-color:#63a69e;box-shadow:0 0 0 3px #e5f2f0}textarea{resize:vertical;line-height:1.5}input::placeholder,textarea::placeholder{color:#aab4ba;font-weight:400}.span-2{grid-column:span 2}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px;box-shadow:var(--shadow);min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel h3,.panel-head h3{font:700 14px Manrope;margin:0;color:#2a3c47}.text-btn{border:0;background:transparent;color:var(--teal);font:700 11px 'DM Sans';cursor:pointer}.row-entry{display:grid;grid-template-columns:minmax(0,1fr) 105px 28px;gap:7px;margin:8px 0}.row-entry.policy{grid-template-columns:1fr 1fr 95px 28px}.row-entry input,.row-entry select{padding:9px;font-size:11px;min-width:0}.remove-row{border:0;background:#f6eeee;color:#a55c5c;border-radius:6px;cursor:pointer}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.metric{background:white;border:1px solid var(--line);border-radius:9px;padding:14px}.metric small{display:block;color:#81909a;font-size:11px;margin-bottom:8px}.metric strong{font:700 17px Manrope;color:#243c49}.hint{font-size:11px;color:#89969e;margin-top:12px}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:17px}.check-grid label{font-size:12px;color:#52616b;display:flex;gap:9px;align-items:center}.check-grid input{width:auto;accent-color:var(--teal)}.callout{background:#eef5f4;border-left:3px solid var(--teal);padding:13px 15px;margin-top:18px;border-radius:4px;color:#51646d;font-size:12px;line-height:1.55}.callout strong{color:#275c58}.callout p{margin:4px 0 0}.callout.warning{background:#fbf5ea;border-color:#c38c3c}.callout.warning strong{color:#916328}.draft-toolbar{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px 17px;margin-bottom:15px}.draft-toolbar strong,.draft-toolbar small{display:block}.draft-toolbar strong{font:700 13px Manrope}.draft-toolbar small{font-size:11px;color:#89969e;margin-top:4px}.toolbar-actions{display:flex;gap:8px}.checks{font-size:11px;color:#8b652e;background:#fcf6e9;border-radius:8px;padding:10px 13px;margin-bottom:12px;display:none}.checks.show{display:block}.draft-output{background:white;border:1px solid var(--line);border-radius:10px;min-height:480px;padding:28px;box-shadow:var(--shadow)}#draftPreview{outline:none;min-height:420px;line-height:1.65;font-size:13px;color:#344550}#draftPreview h1{font:800 24px Manrope;color:var(--navy);margin:0 0 8px}#draftPreview h2{font:700 17px Manrope;color:#254453;margin:25px 0 9px;border-bottom:1px solid var(--line);padding-bottom:7px}#draftPreview h3{font:700 14px Manrope;color:#31515d;margin:18px 0 7px}#draftPreview p{margin:8px 0}#draftPreview table{border-collapse:collapse;width:100%;margin:12px 0;font-size:11px}#draftPreview th,#draftPreview td{border:1px solid #dce3e7;padding:7px;text-align:left}#draftPreview th{background:#f0f4f5}.empty-state{text-align:center;padding:100px 15px;color:#8b989f}.empty-state h3{color:#435762!important}.empty-icon{font-size:30px;color:#4b928a}.export-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.workspace-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:34px;padding-top:15px;color:#9aa5ab;font-size:10px}#toast{position:fixed;bottom:22px;right:22px;background:#203846;color:white;padding:12px 16px;border-radius:8px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none;font-size:12px}#toast.show{opacity:1;transform:none}
@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:sticky;top:72px;z-index:4;flex-direction:row;overflow:auto;padding:8px;background:#fff;border-bottom:1px solid var(--line);border-right:0}.side-label,.side-divider,.side-note{display:none}.nav-item{white-space:nowrap;padding:10px}.workspace{padding:25px 20px}.page-heading{gap:14px;flex-direction:column}.two-col{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:580px){.brand-logo{width:60px;height:42px}.brand strong{font-size:13px}.topbar{padding:0 16px}.privacy{display:none}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.heading-actions{width:100%}.heading-actions .btn{flex:1}.toolbar-actions{flex-direction:column}.draft-toolbar{align-items:flex-start;gap:12px;flex-direction:column}.check-grid{grid-template-columns:1fr}.workspace-footer{flex-direction:column;gap:6px}.row-entry.policy{grid-template-columns:1fr 1fr 80px 26px}}


/* Wealth Success SOA reference-document output */
.draft-output{padding:0;background:#f4f5f5}
#draftPreview{background:#fff;max-width:900px;margin:0 auto;padding:42px 54px;color:#202020;font-family:Arial,Helvetica,sans-serif;font-size:12.5px;line-height:1.55}
.soa-document{max-width:100%;color:#202020}
.soa-cover{min-height:850px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 18px 45px;box-sizing:border-box}
.soa-brand{font-size:25px;font-weight:800;letter-spacing:2px;color:#b48a27;margin:18px 0 80px}
.soa-cover h1{font-size:29px;line-height:1.2;margin:0 0 12px;color:#111}
.soa-cover h2{font-size:21px;line-height:1.35;margin:0 0 42px;color:#111}
.cover-details{width:100%;max-width:650px;text-align:left;margin-top:8px}
.cover-details p{margin:0 0 22px;line-height:1.55}
.soa-confidential{margin-top:auto;color:#666;font-style:italic}
.soa-pagebreak{border-top:1px solid #ddd;margin:10px 0 30px;page-break-before:always}
.soa-disclaimer{font-style:italic;font-weight:600;margin:22px 0 28px}
.soa-purpose{border:1px solid #333;background:#f5f5f5;padding:18px 20px;margin:20px 0 32px}
.soa-purpose h2,.soa-toc h2{text-align:center;border:0;margin:0 0 18px;padding:0;font-size:20px}
.soa-toc{page-break-after:always;margin:25px 0 35px}
.soa-toc table{width:100%;border-collapse:collapse}
.soa-toc th,.soa-toc td{border:0;border-bottom:1px dotted #aaa;padding:7px 4px;text-align:left}
.soa-toc th:last-child,.soa-toc td:last-child{text-align:right;width:70px}
.soa-toc a{color:#222;text-decoration:none}
.soa-note{font-size:10px;color:#777;font-style:italic}
.soa-section{page-break-before:always;margin-top:26px}
.soa-section h2{font-size:21px;font-weight:500;text-align:center;color:#111;border:0;border-bottom:0;padding:0;margin:0 0 22px}
.soa-section h3{font-size:16px;font-weight:500;color:#222;margin:25px 0 10px}
.soa-table{width:100%;border-collapse:collapse;margin:12px 0 22px;font-size:11px;line-height:1.35}
.soa-table th{background:#d9d9d9;font-weight:700;text-align:left}
.soa-table th,.soa-table td{border:1px solid #b9b9b9;padding:7px 8px;vertical-align:top}
.soa-section p{margin:10px 0 15px}
.soa-section li{margin:5px 0}
.soa-final-note{border-top:1px solid #aaa;margin-top:35px;padding-top:15px;font-size:10px;color:#555}
@media print{
  body{background:#fff}
  .draft-output{border:0;box-shadow:none;padding:0;background:#fff}
  #draftPreview{max-width:none;margin:0;padding:18mm 17mm;font-size:11pt;box-shadow:none}
  .soa-pagebreak,.soa-section,.soa-toc{break-before:page}
  .soa-table{break-inside:auto}
  .soa-table tr{break-inside:avoid}
}
@media(max-width:700px){#draftPreview{padding:24px 18px}.soa-cover{min-height:650px}.soa-brand{margin-bottom:55px}}

.soa-cover-logo{display:block;width:190px;max-height:122px;object-fit:contain;margin:8px auto 28px}

/* Wealth Success SOA print header, footer and first-page layout */
.soa-running-header,.soa-running-footer{display:none}
@page{size:A4;margin:22mm 17mm 21mm}
@media print{
  #draftPreview{padding:0!important;font-size:10pt;line-height:1.45}
  .soa-document{position:relative}
  .soa-running-header{
    display:block;position:fixed;top:-15mm;left:0;right:0;
    text-align:center;font-size:8pt;color:#b8b8b8;
    border-bottom:1px solid #cfcfcf;padding:0 0 5px;
    white-space:nowrap;overflow:hidden
  }
  .soa-running-footer{
    display:flex;position:fixed;bottom:-15mm;left:0;right:0;
    justify-content:space-between;align-items:center;
    border-top:1px solid #cfcfcf;padding-top:5px;
    color:#b8b8b8;font-size:7.5pt
  }
  .soa-running-footer .page-current:before{content:counter(page)}
  .soa-running-footer .page-total:before{content:counter(pages)}
  .soa-cover{
    min-height:252mm;height:252mm;box-sizing:border-box;
    padding:5mm 4mm 8mm;page-break-after:always;break-after:page;
    align-items:center;text-align:center
  }
  .soa-cover-logo{width:46mm;max-height:30mm;margin:0 auto 7mm}
  .soa-brand{font-size:17pt;letter-spacing:1px;margin:0 0 8mm}
  .soa-cover h1{font-size:22pt;line-height:1.2;margin:0 0 5mm}
  .soa-cover h2{font-size:14pt;line-height:1.45;margin:0 0 9mm;max-width:145mm}
  .cover-details{max-width:145mm;text-align:left;margin-top:0;font-size:9pt}
  .cover-details p{margin:0 0 5mm;line-height:1.45}
  .soa-confidential{margin-top:auto;align-self:stretch;text-align:left;font-size:8pt}
  .soa-pagebreak{display:none}
  .soa-disclaimer{break-before:page;page-break-before:always}
}

/* Final Wealth Success SOA print layout */
.soa-header-logo{display:none}
.commission-explanation{border:1px solid #555;background:#f4f4f4;padding:12px 14px;margin:12px 0 18px;break-inside:avoid}
.commission-explanation h3{margin:0 0 10px;font-size:13pt}
.commission-explanation p{margin:0 0 12px}
.commission-explanation ul{margin:0 0 12px 20px;padding:0}
.soa-section#costs h4{font-size:10pt;margin:16px 0 6px}
.soa-section#costs .soa-table{margin:0 0 14px}
.commission-disclaimer{font-size:9pt;font-style:italic;margin-top:12px}
@page{size:A4;margin:19mm 17mm 19mm}
@media print{
  html,body{margin:0!important;padding:0!important;background:#fff!important}
  #draftPreview{max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}
  .soa-document{margin:0!important;padding:0!important;overflow:visible!important}
  .soa-running-header{
    display:flex!important;position:fixed!important;top:-15mm!important;left:0!important;right:0!important;
    height:12mm;flex-direction:column;align-items:center;justify-content:flex-start;
    text-align:center;font-size:7.5pt;line-height:1.2;color:#b8b8b8;
    border-bottom:1px solid #cfcfcf;padding:0 0 2mm!important;
    white-space:nowrap;overflow:hidden;background:#fff;z-index:1000
  }
  .soa-header-logo{display:block!important;width:13mm;height:8mm;object-fit:contain;margin:0 auto 1mm}
  .soa-running-footer{
    display:flex!important;position:fixed!important;bottom:-15mm!important;left:0!important;right:0!important;
    justify-content:space-between;align-items:center;border-top:1px solid #cfcfcf;
    padding-top:2mm!important;color:#b8b8b8;font-size:7pt;background:#fff;z-index:1000
  }
  .soa-running-footer .page-current:before{content:counter(page)}
  .soa-running-footer .page-total:before{content:counter(pages)}
  .soa-cover{
    display:flex;flex-direction:column;min-height:259mm;height:259mm;box-sizing:border-box;
    padding:0 4mm 7mm!important;page-break-after:always;break-after:page;
    align-items:center;text-align:center
  }
  .soa-cover-logo{width:45mm;max-height:30mm;object-fit:contain;margin:0 auto 5mm}
  .soa-cover h1{font-size:21pt;line-height:1.2;margin:0 0 4mm}
  .soa-cover h2{font-size:13.5pt;line-height:1.45;margin:0 0 7mm;max-width:145mm}
  .cover-details{width:100%;max-width:145mm;text-align:left;margin:0 auto;font-size:9pt;line-height:1.45}
  .cover-details p{margin:0 0 5mm;line-height:1.45}
  .soa-confidential{margin-top:auto!important;align-self:stretch;text-align:left;font-size:8pt}
  .soa-pagebreak{display:none!important}
  .soa-disclaimer{break-before:page;page-break-before:always}
  .soa-section,.soa-toc{break-before:page}
  .soa-table{break-inside:auto}
  .soa-table tr{break-inside:avoid}
  .commission-explanation{break-inside:avoid}
}

.cover-details-table{width:100%;max-width:145mm;margin:0 auto;border-collapse:collapse;text-align:left;font-size:9pt;line-height:1.35}
.cover-details-table td{border:0;padding:1px 0;vertical-align:top}
.cover-details-table td:first-child:not([colspan]){width:63%}
.cover-details-table .cover-gap{height:9px;padding:0}
@media print{
  .cover-details-table{font-size:9pt;line-height:1.35}
  .cover-details-table td{padding:1px 0}
  .cover-details-table .cover-gap{height:7px}
  .soa-running-footer{display:none!important}
  @page{
    @bottom-left{
      content:"© Australian Securities and Investments Commission December 2017 (Example SOA)";
      color:#b8b8b8;font-size:7pt;vertical-align:top;border-top:1px solid #cfcfcf;padding-top:2mm
    }
    @bottom-right{
      content:"Page " counter(page) " of " counter(pages);
      color:#b8b8b8;font-size:7pt;vertical-align:top;text-align:right;border-top:1px solid #cfcfcf;padding-top:2mm
    }
  }
}


/* Cover adviser details: clean, borderless layout matching the supplied reference */
.cover-details-table{
  width:100%;
  max-width:100%;
  border:0!important;
  border-collapse:collapse!important;
  border-spacing:0!important;
  table-layout:fixed;
  background:transparent!important;
  color:#111!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11pt!important;
  line-height:1.45!important;
  text-align:left!important;
  margin:0!important;
}
.cover-details-table tbody,
.cover-details-table tr,
.cover-details-table td{
  border:0!important;
  background:transparent!important;
}
.cover-details-table td{
  padding:0!important;
  vertical-align:top!important;
  text-align:left!important;
}
.cover-details-table tr td:first-child:not([colspan]){
  width:57%;
}
.cover-details-table tr td:last-child:not([colspan]){
  width:43%;
}
.cover-details-table tr:has(td[colspan="2"]):nth-child(1) td,
.cover-details-table tr:has(td[colspan="2"]):nth-child(4) td,
.cover-details-table tr:has(td[colspan="2"]):nth-last-child(2) td{
  padding-top:0!important;
}
.cover-details-table tr:nth-child(2) td{
  padding-bottom:22px!important;
}
.cover-details-table tr:nth-child(4) td{
  padding-bottom:2px!important;
}
.cover-details-table tr:nth-child(5) td{
  padding-bottom:2px!important;
}
.cover-details-table tr:nth-child(6) td,
.cover-details-table tr:nth-child(7) td,
.cover-details-table tr:nth-child(8) td{
  padding-bottom:2px!important;
}
.cover-details-table tr:nth-child(9) td{
  padding-top:18px!important;
}
.cover-details-table tr:nth-child(10) td,
.cover-details-table tr:nth-child(11) td,
.cover-details-table tr:nth-child(12) td,
.cover-details-table tr:nth-child(13) td{
  padding-bottom:2px!important;
}
.cover-details-table tr:nth-child(14) td{
  padding-top:18px!important;
}
.cover-details-table tr:nth-child(15) td{
  padding-top:0!important;
}
@media print{
  .cover-details-table{font-size:9pt!important;line-height:1.5!important}
  .cover-details-table tr:nth-child(2) td{padding-bottom:6mm!important}
  .cover-details-table tr:nth-child(9) td{padding-top:4mm!important}
  .cover-details-table tr:nth-child(14) td{padding-top:4mm!important}
}

.source-upload{margin:18px 0}
.upload-drop{border:1px dashed #9eb4bc;background:#f8fbfb;border-radius:10px;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;text-align:center;cursor:pointer;color:#36505d}
.upload-drop input{max-width:260px;border:0;background:transparent;padding:5px}
.upload-drop small,.source-file small{display:block;color:#788892;font-size:11px;font-weight:400}
.upload-icon{font-size:26px;color:#1c766f}
.file-list{margin-top:12px}
.source-file{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e8edef;padding:10px 2px;gap:12px}
.source-file strong{font-size:12px}
.muted{color:#81909a}.small{font-size:11px;line-height:1.5}
@media(max-width:780px){.upload-drop{padding:14px}.source-file{align-items:flex-start}}
@media print{
  body{background:#fff!important}
  .topbar,.sidebar,.page-heading,.section-intro,.draft-toolbar,.checks,.export-row,.workspace-footer{display:none!important}
  .shell{display:block!important;max-width:none!important}
  .workspace{padding:0!important}
  .tab-panel{display:none!important}
  #tab-draft{display:block!important}
  .draft-output{border:0!important;box-shadow:none!important;padding:0!important}
  #draftPreview{padding:0!important}
}
