[hidden]{display:none!important}
*{box-sizing:border-box}
body{margin:0;background:#f5f4f0;color:#253647;font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
.wrap{max-width:560px;margin:0 auto;padding:0 16px}
.top{background:#102e4b;color:#fff;padding:24px 0 28px}
.brand{display:flex;gap:10px;align-items:center}
.dmg{font-size:26px;font-weight:800;letter-spacing:.5px}
.sub{font-size:10px;letter-spacing:2.5px}
h1{margin:16px 0 4px;font-size:28px}
.note{color:#8fa6bb;font-size:13px;margin:0}
main .note{color:#4a5b6b}
.card{background:#fff;border:1px solid #e3e0d8;border-radius:12px;padding:20px;margin:24px auto;display:flex;flex-direction:column;gap:14px}
form{display:flex;flex-direction:column;gap:14px}
label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}
input{font:inherit;padding:10px;border:1px solid #c9c4b8;border-radius:7px;min-height:44px}
button{font:inherit;background:#159cdd;color:#fff;border:0;border-radius:7px;padding:10px 16px;min-height:44px;cursor:pointer}
button.secondary{background:#fff;color:#253647;border:1px solid #c9c4b8}
#qr{align-self:center;background:#fff}
code{word-break:break-all}
#msg{min-height:20px}
#msg.err{color:#a3261b}
button.big{font-size:17px;font-weight:600;min-height:52px}
button:disabled{opacity:.6;cursor:default}
details summary{cursor:pointer;color:#0f6fa3;font-size:14px;padding:6px 0}
details form{margin-top:12px}
label.chk{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}
label.chk input{min-height:0;width:20px;height:20px;margin-top:2px;flex:none}
.fine{font-size:12px;color:#4a5b6b;margin:0}
.lead{margin:0}
a{color:#0f6fa3}
h2{font-size:17px;margin:8px 0 0}
.wide{max-width:1200px;margin:0 auto;padding:0 16px}
.ownerbar{background:#102e4b;color:#fff;padding:0 0 18px}
.obar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}
.obtns{display:flex;flex-wrap:wrap;gap:8px}
button.ghost{background:transparent;color:#fff;border:1px solid #5a7690}
.pill{display:inline-block;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}
.pill.ok{background:#d8f0e3;color:#14532d}.pill.warn{background:#fde7c7;color:#7a3e00}.pill.info{background:#dbeafe;color:#102e4b}.pill.off{background:#ebe8df;color:#4a5b6b}
.tabs{background:#fff;border-bottom:1px solid #e3e0d8;padding:14px 0}
.obody{display:flex;flex-direction:column;gap:24px;padding-top:24px;padding-bottom:24px}
#o-overview{display:flex;flex-direction:column;gap:24px}
.obody h2{margin:0 0 6px;font-size:21px}
.hint{font-size:13px;color:#4a5b6b;margin:0}
.shead{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:12px}
.needs{background:#fff;border:2px solid #159cdd;border-radius:12px;padding:20px}
.grid5{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}
.ncard{text-align:left;background:#f5f4f0;color:#253647;border:1px solid #e3e0d8;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:4px}
.ncard .n{font-size:30px;font-weight:700;color:#102e4b}.ncard .l{font-weight:600}.ncard .h{font-size:13px;color:#4a5b6b}
.kpi{background:#fff;border:1px solid #e3e0d8;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:6px}
.kpi .l{font-size:13px;color:#4a5b6b}.kpi .v{font-size:20px;font-weight:700;color:#8a96a3}.kpi .s{font-size:12px;color:#4a5b6b}
.panel{background:#fff;border:1px solid #e3e0d8;border-radius:10px;padding:20px}
.panel.dashed{border-style:dashed;border-color:#c9c4b8}
.scroll{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;min-width:640px;font-size:14px}
.tbl th{text-align:left;color:#4a5b6b;font-size:12px;letter-spacing:.5px;text-transform:uppercase;padding:8px;border-bottom:1px solid #e3e0d8}
.tbl td{padding:10px 8px;border-bottom:1px solid #f0ede6}
.tbl td.name{font-weight:600}.tbl tr.subrow td.name{padding-left:28px;font-weight:500}
.muted{color:#8a96a3}
.qitem{border:1px solid #e3e0d8;border-radius:10px;padding:14px;margin-top:12px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.qitem .t{display:flex;flex-direction:column;gap:4px;flex:1 1 320px;min-width:0}
.qitem .k{font-size:12px;font-weight:700;letter-spacing:.5px;color:#0b6fa4}.qitem .ti{font-weight:600}.qitem .d{font-size:13px;color:#4a5b6b}
.qitem .acts{display:flex;gap:8px;flex-wrap:wrap}
.empty{padding:20px;text-align:center;color:#4a5b6b}
.foot{font-size:13px;color:#4a5b6b;margin:0}
@media print{.tabs,.obtns,.top{display:none}.ownerbar{background:#fff;color:#000}}
.is-owner .top .wrap{max-width:1200px}
.is-owner .top{padding-bottom:14px}
.is-owner #m-main{max-width:1200px}

.tabs .wide{display:flex;flex-direction:column;gap:10px}
.groups,.subtabs,.pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.groups::-webkit-scrollbar,.subtabs::-webkit-scrollbar,.pills::-webkit-scrollbar{display:none}
.gtab{flex:none;background:#fff;color:#253647;border:1px solid #d6d2c8;border-radius:999px;padding:10px 18px;font-size:15px;font-weight:600;white-space:nowrap}
.gtab.on{background:#102e4b;color:#fff;border-color:#102e4b}
.stab{flex:none;background:#fff;color:#253647;border:1px solid #d6d2c8;border-radius:7px;padding:8px 14px;font-size:14px;white-space:nowrap}
.stab.on{background:#159cdd;color:#fff;border-color:#159cdd}
.ncard.on{border-color:#159cdd;background:#e8f5fc;box-shadow:inset 0 0 0 1px #159cdd}
#o-inline{margin-top:16px;border-top:1px solid #e3e0d8;padding-top:12px}
.shead.inl{margin-bottom:0}.shead.inl h3{margin:0;font-size:17px}
button.small{min-height:36px;padding:6px 12px;font-size:13px}
.herorow{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:12px}
.hero,.week{background:#fff;border:1px solid #e3e0d8;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px}
.hero{border-color:#102e4b}
.hero .l,.week .l{font-size:13px;color:#4a5b6b;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.hero .big{font-size:34px;font-weight:800;color:#8a96a3}
.hero .s,.week .s{font-size:12px;color:#4a5b6b}
.goal{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.goalbar{height:10px;background:#ebe8df;border-radius:999px;overflow:hidden}
.goalfill{display:block;height:100%;width:0;background:#159cdd}
.wrow{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #f0ede6;font-size:14px}
.repcards{display:none;flex-direction:column;gap:10px}
.repcard{border:1px solid #e3e0d8;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:4px}
.repcard.subcard{margin-left:18px;border-left:3px solid #d6d2c8}
.rtop{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
@media (max-width:700px){
  .tblwrap{display:none}.repcards{display:flex}
  .herorow{grid-template-columns:1fr}
  .grid5{grid-template-columns:1fr 1fr}
  .ncard{padding:10px}.ncard .n{font-size:24px}
  .grid4{grid-template-columns:1fr 1fr}
  .kpi{padding:12px}.kpi .v{font-size:16px}
  .obtns button{min-height:40px;padding:8px 12px;font-size:14px}
  .qitem .acts{width:100%}.qitem .acts button{flex:1}
}

/* ---- View-as (owner) ---- */
.vabar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:14px;padding-top:14px;border-top:1px solid #2a4866}
.valabel{color:#c9d6e2;font-weight:600;font-size:12px}
.valabel select{font:inherit;font-size:14px;min-height:44px;padding:8px 10px;border-radius:7px;border:1px solid #5a7690;background:#fff;color:#253647;min-width:200px}
.vahint{font-size:12px;color:#c9d6e2;align-self:center}
.vabanner{background:#fde7c7;color:#7a3e00;border-bottom:1px solid #f2c48d}
.vbrow{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:8px;font-size:14px}

/* ---- Distributor section (approved mockup 94FBAMKHn1ynnQHMQZT4yN, decision 42) ---- */
.is-dist .top .wrap{max-width:1200px}
.is-dist .top{padding-bottom:14px}
.is-dist #m-main{max-width:1200px}
.dgrid{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.dmain{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:20px}
.dside{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:20px}
.box{background:#fff;border:1px solid #e3e0d8;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px}
.box.alert{border:2px solid #c25e00}
.box.navy{border-color:#102e4b}
.box h2{margin:0;font-size:20px}
.row{border:1px solid #e3e0d8;border-radius:10px;padding:12px 14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:#fff}
.row .t{display:flex;flex-direction:column;gap:2px;min-width:0}
.row .s{font-size:13px;color:#4a5b6b}
.lbl{font-size:12px;font-weight:700;letter-spacing:.5px;color:#4a5b6b;text-transform:uppercase}
.lbl.blue{color:#0b6fa4}
.fig{font-size:30px;font-weight:800;color:#8a96a3}
.line{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #f0ede6;font-size:14px}
.line:last-child{border-bottom:0}
.ok-note{background:#d8f0e3;color:#14532d;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:600}
.warn-note{background:#fde7c7;color:#7a3e00;border-radius:8px;padding:10px 12px;font-size:14px}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;align-items:start}
.plist{display:flex;flex-direction:column;gap:8px}
.prow{text-align:left;background:#fff;color:#253647;border:1px solid #e3e0d8;border-radius:10px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%}
.prow.on{border-color:#159cdd;background:#e8f5fc;box-shadow:inset 0 0 0 1px #159cdd}
.prow .t{display:flex;flex-direction:column;gap:2px;min-width:0}
.prow strong{font-weight:700}
.prow .s{font-size:13px;color:#4a5b6b}
.addr{border:2px solid #e3e0d8;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}
.addr.need{border-color:#c25e00}
.addr .a{font-size:16px;white-space:pre-line}
.btnrow{display:flex;flex-wrap:wrap;gap:8px}
.btnrow > *{flex:1 1 160px}
button.navy{background:#102e4b;color:#fff}
a.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:7px;padding:10px 16px;font-weight:600;text-decoration:none}
a.btn.blue{background:#159cdd;color:#102e4b}
a.btn.plain{background:#fff;color:#102e4b;border:1px solid #c9c4b8}
textarea{font:inherit;padding:10px;border:1px solid #c9c4b8;border-radius:7px;resize:vertical}
select{font:inherit}
.toggle{flex-direction:row;justify-content:space-between;align-items:center;font-weight:400;font-size:15px;padding:12px 0;border-top:1px solid #f0ede6}
.toggle input{width:22px;height:22px;min-height:0}
.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14px}
details.box summary{font-weight:700;cursor:pointer;min-height:24px}
.linkbtn{background:transparent;color:#0b6fa4;border:0;padding:0 4px;font-weight:600}
.readonly{font-size:13px;color:#7a3e00}
.danger{color:#a3261b}
@media (max-width:700px){.split{grid-template-columns:1fr}}
.pill{white-space:nowrap}
.remind{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.remind label{flex:1 1 180px}
.notes{display:flex;flex-direction:column;gap:8px;border-top:1px solid #f0ede6;padding-top:12px}
.dnote{background:#f5f4f0;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;font-size:14px}
.nh{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.parity{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-top:12px}
.pbtn{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid #c9c4b8;border-radius:7px;background:#fff;color:#102e4b;font-size:14px;font-weight:600;cursor:pointer;flex-direction:row}
.pbtn input{position:absolute;width:1px;height:1px;opacity:0;min-height:0}
.pbtn:focus-within{outline:2px solid #159cdd}
.ported{color:#102e4b!important}
.hero .big.ported{color:#102e4b}
.up{color:#14532d}.down{color:#a3261b}
#o-parity-out{margin-top:12px}
.ptbl{width:100%;border-collapse:collapse;font-size:14px}
.ptbl td,.ptbl th{padding:8px;border-bottom:1px solid #f0ede6;text-align:left}
.tag{font-size:11px;font-weight:700;letter-spacing:.5px;color:#0b6fa4;text-transform:uppercase}

/* Official DMG logo on a white chip (patch 8). */
.brand .logo{display:block;height:34px;width:auto;background:#fff;padding:7px 12px;border-radius:9px;box-sizing:content-box}
