:root{
  --navy:#1A2B62; --adr:#4194BC; --lt:#A0C6DB; --grey:#808085;
  --ink:#20263a; --line:#e3e8f0; --surface:#f4f7fb; --white:#fff;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:Montserrat,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--surface);
  -webkit-font-smoothing:antialiased;line-height:1.4;}
.top{background:var(--navy);color:#fff;padding:18px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.top img{height:30px;}
.top .t h1{font-size:20px;font-weight:800;letter-spacing:-.01em;}
.top .t h1 span{color:var(--lt);}
.top .t p{font-size:11px;color:var(--lt);margin-top:2px;}
.wrap{max-width:1180px;margin:0 auto;padding:22px 32px 60px;display:grid;grid-template-columns:1fr 360px;gap:26px;align-items:start;}
@media (max-width:900px){.wrap{grid-template-columns:1fr;padding:18px;}}
.step{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:15px 17px;margin-bottom:13px;}
.step h2{font-size:12.5px;font-weight:800;color:var(--navy);letter-spacing:.02em;display:flex;align-items:center;gap:9px;margin-bottom:3px;}
.num{background:var(--navy);color:#fff;width:20px;height:20px;border-radius:50%;display:inline-flex;
  align-items:center;justify-content:center;font-size:10.5px;font-weight:700;flex:0 0 auto;}
.hint{font-size:10.5px;color:var(--grey);margin:0 0 10px 29px;}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;}
.opt{border:1.5px solid var(--line);background:var(--white);border-radius:8px;padding:9px 11px;cursor:pointer;
  text-align:left;font-family:inherit;transition:border-color .12s,background .12s;position:relative;}
.opt:hover:not(:disabled){border-color:var(--adr);}
.opt:focus-visible{outline:2px solid var(--adr);outline-offset:2px;}
.opt.pic{display:flex;gap:10px;align-items:center;}
.opt.pic .thumb{width:46px;height:46px;flex:0 0 46px;border-radius:6px;background:#fff;
  border:1px solid var(--line);background-size:contain;background-position:center;background-repeat:no-repeat;}
.opt.pic .txt{min-width:0;}
.opt .on{font-size:12px;font-weight:700;color:var(--navy);display:block;}
.opt .od{font-size:10px;color:var(--grey);display:block;margin-top:2px;line-height:1.3;}
.opt[aria-pressed="true"]{border-color:var(--adr);background:#eef6fb;box-shadow:inset 0 0 0 1px var(--adr);}
.opt:disabled{opacity:.45;cursor:not-allowed;background:var(--surface);}
.opt:disabled .od{color:#b23;font-weight:600;}
.auto{margin-top:9px;display:flex;flex-wrap:wrap;gap:6px;}
.chip{background:#eef6fb;border:1px solid var(--lt);color:var(--navy);border-radius:20px;
  padding:3px 10px;font-size:10px;font-weight:600;}
.chip b{font-weight:800;}
.chip.ls{background:#fbeeee;border-color:#e0b3b1;color:#7a2d2b;}
.warn{margin-top:9px;background:#fff6e8;border-left:3px solid #d98c2b;border-radius:0 6px 6px 0;
  padding:7px 10px;font-size:10.5px;color:#7a4d10;line-height:1.35;}
.warn b{color:#5c3a0c;}
.sum{position:sticky;top:18px;}
@media (max-width:900px){.sum{position:static;}}
.card{background:var(--white);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:13px;}
.card h3{background:var(--navy);color:#fff;font-size:11px;font-weight:800;letter-spacing:.07em;
  text-transform:uppercase;padding:9px 14px;}
.bom{padding:11px 14px;}
.bom li{list-style:none;font-size:11px;padding:3px 0 3px 16px;position:relative;color:var(--ink);line-height:1.35;}
.bom li:before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:1px;background:var(--adr);}
.bom li.sub{color:var(--grey);font-size:10px;}
.bom li.sub:before{background:var(--lt);}
.price{border:1px solid var(--line);border-radius:10px;background:var(--white);margin-bottom:13px;overflow:hidden;}
.price .ph{padding:9px 14px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--navy);background:var(--surface);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;}
.price .ph em{font-style:normal;color:var(--grey);font-weight:600;letter-spacing:0;text-transform:none;}
.price .pb{padding:13px 14px;}
.big{font-size:29px;font-weight:800;color:var(--navy);letter-spacing:-.02em;line-height:1;}
.big small{font-size:13px;font-weight:700;color:var(--grey);}
.cap{font-size:9.5px;color:var(--grey);text-transform:uppercase;letter-spacing:.07em;font-weight:700;margin-bottom:3px;}
.rows{margin-top:11px;border-top:1px solid var(--line);padding-top:9px;}
.rows.nb{margin-top:0;border-top:none;padding-top:0;}
.row{display:flex;justify-content:space-between;font-size:11px;padding:2.5px 0;color:var(--ink);}
.row span:last-child{font-weight:700;color:var(--navy);}
.row.tot{border-top:1px solid var(--line);margin-top:6px;padding-top:7px;font-weight:800;}
.row.tot span{color:var(--navy);font-weight:800;}
.row.vz{color:var(--grey);}
.row.vz span:last-child{color:var(--grey);font-weight:700;}
.feature{border:2px solid var(--adr);}
.feature .ph{background:var(--adr);color:#fff;}
.feature .ph em{color:#e7f2f8;}
.split{display:flex;align-items:center;gap:10px;}
.split > div:first-child,.split > div:last-child{flex:1;}
.tiny{font-size:9.5px;color:var(--grey);margin-top:2px;}
.wizbtn{margin-left:auto;border:1.5px solid var(--adr);background:#eef6fb;color:var(--navy);
  border-radius:7px;padding:6px 13px;font-family:inherit;font-size:11.5px;font-weight:800;cursor:pointer;}
.wizbtn:hover{background:var(--adr);color:#fff;}
.wizq{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:11px;}
.wizq .qn{font-size:12.5px;font-weight:800;color:var(--navy);margin-bottom:9px;display:flex;gap:9px;}
.wizq .qn .num{background:var(--adr);}
.conf{background:#fbeeee;border-left:3px solid #C0504D;border-radius:0 6px 6px 0;padding:10px 12px;
  font-size:11px;color:#7a2d2b;line-height:1.4;margin-bottom:11px;}
.conf b{color:#9a3b39;}
.why{background:#eef6fb;border-left:3px solid var(--adr);border-radius:0 6px 6px 0;padding:11px 13px;margin-bottom:13px;}
.why h4{font-size:11px;font-weight:800;color:var(--navy);letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px;}
.why li{font-size:11px;color:#3d4453;line-height:1.45;padding:2px 0 2px 14px;position:relative;list-style:none;}
.why li:before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--adr);}
.why .cheap{font-size:10.5px;color:var(--navy);font-weight:700;margin-top:7px;padding-top:7px;border-top:1px solid #d6e6f0;}
.note{font-size:9.5px;color:var(--grey);line-height:1.45;padding:0 2px;}
.actions{display:flex;gap:8px;margin-bottom:13px;}
.btn{flex:1;border:1px solid var(--navy);background:var(--navy);color:#fff;border-radius:7px;padding:9px;
  font-family:inherit;font-size:11.5px;font-weight:700;cursor:pointer;}
.btn.alt{background:var(--white);color:var(--navy);}
.btn:focus-visible{outline:2px solid var(--adr);outline-offset:2px;}
.stp{display:flex;align-items:center;gap:8px;padding:5px 0;}
.stp .lbl{flex:1;font-size:11.5px;font-weight:600;color:var(--ink);}
.stp .lbl small{display:block;font-size:9.5px;color:var(--grey);font-weight:400;}
.stp .ls{font-size:8.5px;font-weight:800;color:#9a3b39;background:#fbeeee;border:1px solid #e0b3b1;
  border-radius:4px;padding:1px 5px;margin-left:6px;vertical-align:1px;}
.stp button{width:26px;height:26px;border-radius:6px;border:1.5px solid var(--line);background:var(--white);
  font-family:inherit;font-size:14px;font-weight:800;color:var(--navy);cursor:pointer;line-height:1;}
.stp button:hover:not(:disabled){border-color:var(--adr);}
.stp button:disabled{opacity:.35;cursor:not-allowed;}
.stp .val{width:34px;text-align:center;font-size:13px;font-weight:800;color:var(--navy);}
.vzin{width:88px;border:1.5px solid var(--line);border-radius:7px;padding:6px 9px;font-family:inherit;
  font-size:13px;font-weight:800;color:var(--navy);}
.vzin:focus{outline:2px solid var(--adr);outline-offset:1px;}
.figure{margin-top:10px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;}
.figure img{display:block;width:100%;height:auto;}
.figure figcaption{font-size:9.5px;color:var(--grey);padding:6px 10px;border-top:1px solid var(--line);}
@media (prefers-reduced-motion:reduce){*{transition:none!important;}}
.ok{margin-top:9px;background:#eef6f0;border-left:3px solid #2e7d32;border-radius:0 6px 6px 0;
  padding:7px 10px;font-size:10.5px;color:#1b5e20;line-height:1.35;}
.ok b{color:#14501a;}
@media print{
  .actions,.wizbtn{display:none!important;}
  body{background:#fff;}
  .wrap{display:flex;flex-direction:column-reverse;padding:0 5mm;}
  .sum{position:static;}
  .step,.card,.price,.figure,.why{break-inside:avoid;page-break-inside:avoid;}
  .top,.card h3,.price .ph,.opt[aria-pressed="true"],.chip,.warn,.conf,.ok,.num,.feature .ph{
    -webkit-print-color-adjust:exact;print-color-adjust:exact;}
}

/* ---- Additions for the POTS onboarding tool. Everything above is the configurator's CSS, verbatim. ---- */
/* Inside the masterstelecom.com iframe: hide the header and use the site's font, like the Masters embed. */
html.embedded .top{display:none!important}
html.embedded .steps-nav{display:none!important}
#staleBanner:empty{display:none}
@media print{.steps-nav{display:none!important}}
html.embedded body,html.embedded body *{font-family:'Figtree',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif!important}
.stp .stpin{width:64px;border:1.5px solid var(--line);border-radius:6px;padding:3px 4px;font-family:inherit;
  font-size:13px;font-weight:800;color:var(--navy);text-align:center}
.stp .stpin:focus{outline:2px solid var(--adr);outline-offset:1px}
a.btn{display:block;text-align:center;text-decoration:none}
.btn.go{padding:11px;font-size:12.5px;margin-bottom:6px}
/* #6b6b70, not --grey (#808085): the configurator's grey is 3.66-3.93:1 on white and on the page, under WCAG AA's 4.5:1
   for small text. #6b6b70 is 5.30:1 on white and 4.93:1 on the page background. Same for the other three below. */
.go-note{text-align:center;margin-bottom:12px;color:#6b6b70}
a.wizbtn{text-decoration:none}
.wrap.single{grid-template-columns:minmax(0,1fr)}
.hint.flush{margin-left:0}
.steps{display:flex;gap:6px;flex-wrap:wrap;max-width:1180px;margin:0 auto;padding:16px 32px 0;list-style:none}
.steps .st{font-size:11px;font-weight:700;color:#6b6b70;background:var(--white);border:1px solid var(--line);
  border-radius:20px;padding:4px 11px}
.steps .st.on{color:#fff;background:var(--navy);border-color:var(--navy)}
.steps .st.done{color:var(--navy);background:#eef6fb;border-color:var(--lt)}
@media (max-width:900px){.steps{padding:12px 18px 0}}
/* Text for screen readers only: "Done: " before a finished step, so done is not shown by colour alone. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tbl{width:100%;border-collapse:collapse;font-size:11.5px}
.tbl th{text-align:left;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6b6b70;
  padding:8px 10px;border-bottom:1px solid var(--line)}
.tbl td{padding:9px 10px;border-bottom:1px solid var(--line);color:var(--ink)}
.tbl a{color:var(--navy);font-weight:700;text-decoration:none}
.errbox{margin-top:9px;background:#fbeeee;border-left:3px solid #C0504D;border-radius:0 6px 6px 0;padding:7px 10px;
  font-size:10.5px;color:#7a2d2b;line-height:1.35}
.empty{padding:18px 4px;font-size:11.5px;color:#6b6b70}
@media print{.btn.go,.go-note{display:none!important}}
/* Big multi-site totals wrap instead of being cut off; wide tables scroll inside their card on phones. */
.split{flex-wrap:wrap;row-gap:8px}
.tblwrap{overflow-x:auto}
/* Printing from the embed keeps the Masters header. */
@media print{html.embedded .top{display:flex!important}}

/* Page 2 (Lines). */
.field{width:100%;border:1.5px solid var(--line);border-radius:6px;padding:7px 9px;font-family:inherit;font-size:13px;color:var(--ink)}
.field:focus,.editgrid input:focus,.sitename:focus,#pasteText:focus{outline:2px solid var(--adr);outline-offset:1px}
.dropzone{border:2px dashed var(--lt);border-radius:10px;padding:22px;text-align:center;font-size:12px;color:var(--ink);cursor:pointer;background:var(--surface)}
.dropzone.over,.dropzone:focus-visible{border-color:var(--adr);background:#eef6fb;outline:none}
.linklike{color:var(--navy);font-weight:700;text-decoration:underline}
#pasteBox{margin-top:10px;font-size:11.5px;color:var(--ink)}
#pasteText{width:100%;margin:8px 0;border:1.5px solid var(--line);border-radius:6px;padding:7px 9px;font-family:ui-monospace,Menlo,monospace;font-size:11px}
.readnote{margin-top:10px;font-size:11px;color:var(--ink)}
.fixlist,.sitelist{list-style:none;margin:8px 0 0;padding:0}
.fix{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:8px}
.fix.hl,.fix:focus-within{border-color:var(--adr)}
.fix p{font-size:11.5px;color:var(--ink);margin:5px 0}
.fixlines{list-style:none;margin:4px 0 6px;padding:0;font-size:11px;color:#6b6b70}
.fixbtns,.linesbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.fixbtns .opt{max-width:150px;text-align:center}
.site{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 0;border-bottom:1px solid var(--line);font-size:11.5px;color:var(--ink)}
.sitename{border:1.5px solid var(--line);border-radius:6px;padding:4px 7px;font-family:inherit;font-size:12px;font-weight:700;color:var(--navy);min-width:180px}
.sitemeta{color:#6b6b70}
.tbl tr.hl td{background:#eef6fb}
.tbl tr.warnrow td:first-child{box-shadow:inset 3px 0 0 #d98c2b}
.chip.issue{background:#fff6e8;border-color:#e8c48f;color:#5c3a0c}
.linkbtn{background:none;border:0;padding:0;font:inherit;font-size:11px;font-weight:700;color:var(--navy);text-decoration:underline;cursor:pointer}
.editgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.editgrid label{font-size:10px;font-weight:700;color:#6b6b70;display:flex;flex-direction:column;gap:3px}
.editgrid input{border:1.5px solid var(--line);border-radius:6px;padding:5px 7px;font-family:inherit;font-size:12px;color:var(--ink)}
.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.filters .opt{padding:5px 10px}

/* Page 3 (Verify and label). */
.wrap.wide{max-width:1440px;grid-template-columns:minmax(0,1fr) 300px}
@media (max-width:900px){.wrap.wide{grid-template-columns:1fr}}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:4px 0 8px}
.toolbar .auto{margin-top:0;align-items:center}
.tbl.board td{vertical-align:top}
.tbl.board .sub,.siteready .sub{display:block;color:#6b6b70;font-size:10.5px;margin-top:2px}
.evs{display:flex;flex-wrap:wrap;gap:4px;max-width:360px}
.evs .fixlines{flex-basis:100%;margin:2px 0 0}
.chip.wait{background:var(--surface);border-color:var(--line);color:#6b6b70}
.types{display:grid;grid-template-columns:repeat(2,minmax(92px,1fr));gap:4px;min-width:200px}
.tbtn{border:1.5px solid var(--line);background:var(--white);border-radius:6px;padding:4px 7px;font:inherit;font-size:10.5px;font-weight:700;color:var(--navy);cursor:pointer;text-align:left}
.tbtn:hover{border-color:var(--adr)}
.tbtn:focus-visible{outline:2px solid var(--adr);outline-offset:1px}
.tbtn[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.setby{font-size:10px;color:#6b6b70;margin-top:5px}
.sitecard{padding:4px 14px 10px}
.siteready{padding:8px 0;border-bottom:1px solid var(--line);font-size:11.5px;color:var(--ink)}
.siteready:last-child{border-bottom:0}
.chip.ready{background:#eaf6ee;border-color:#9fd0ad;color:#1d5c2e}
.chip.survey{background:#fff6e8;border-color:#e8c48f;color:#5c3a0c}
.btn.link{display:block;text-align:center;text-decoration:none;margin-top:8px}
