*{box-sizing:border-box}.oa-page{margin:0;background:#f5f7fa;color:#172033}.container{width:min(1240px,calc(100% - 40px));margin:auto}.oa-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e5eaf0}.oa-head{height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.oa-head img{height:62px}.oa-head nav{display:flex;gap:25px}.oa-head nav a{font-size:12px;font-weight:800;color:#4b586b;text-decoration:none}.oa-head nav .active{color:#2563eb}.consult{justify-self:end;background:#2563eb;color:#fff;text-decoration:none;padding:13px 16px;border-radius:7px;font-size:11px;font-weight:900}.oa-hero{padding:70px 0;background:radial-gradient(circle at 20% 20%,#16355d 0,transparent 28%),#071321;color:#fff}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}.eyebrow{font:900 9px Arial;color:#60a5fa;letter-spacing:1.5px}.oa-hero h1{font:900 clamp(40px,5vw,66px)/1.1 Arial;margin:13px 0}.oa-hero h1 b{color:#60a5fa}.oa-hero p{max-width:680px;color:#a5b4c7;line-height:2;font-size:13px}.hero-tags{display:flex;gap:7px;flex-wrap:wrap}.hero-tags span{border:1px solid #29425f;padding:7px 9px;border-radius:5px;color:#8095ae;font:8px Arial}.hero-console{border:1px solid #27405d;background:#091827;border-radius:12px;padding:16px 20px}.hc-title{display:flex;justify-content:space-between;color:#6e829b;font:800 8px Arial;padding-bottom:13px;border-bottom:1px solid #1c3045}.hc-title i{color:#34d399;font-style:normal}.hero-console>div:not(.hc-title){display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid #172b40;color:#5f7590;font:8px Arial}.hero-console b{color:#c7d4e4}.architect{padding:55px 0 100px}.wizard-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-bottom:12px}.wizard-tabs button{border:1px solid #e0e6ed;background:#fff;padding:13px;border-radius:8px;color:#9aa5b4;font:800 9px Arial;cursor:pointer}.wizard-tabs span{display:block;margin-top:4px;color:#566478}.wizard-tabs .active{background:#172033;color:#60a5fa;border-color:#172033}.wizard-tabs .active span{color:#fff}.panel{display:none;background:#fff;border:1px solid #e0e6ed;border-radius:13px;padding:38px;box-shadow:0 18px 45px rgba(15,23,42,.035)}.panel.active{display:block}.panel-title{margin-bottom:30px}.panel-title small{font:900 8px Arial;color:#2563eb;letter-spacing:1px}.panel-title h2{font-size:29px;margin:7px 0;color:#0b1220}.panel-title p{color:#778397;font-size:11px;line-height:1.9}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.grid label{font-size:10px;font-weight:900;color:#526074}.grid input,.grid select{display:block;width:100%;height:46px;margin-top:8px;border:1px solid #dce3eb;border-radius:7px;background:#fafbfd;padding:0 11px;direction:ltr;font:12px Arial}.subhead{margin:28px 0 13px;font-size:13px;color:#334155}.doc-box{margin-top:25px;border-right:3px solid #2563eb;background:#f3f7fc;padding:18px;color:#637287;font-size:10px;line-height:1.9}.doc-box b{color:#1e3a5f}.nav-actions{margin-top:12px;display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #e0e6ed;border-radius:10px;padding:13px}.nav-actions button,.actions button{border:0;background:#2563eb;color:#fff;padding:12px 17px;border-radius:7px;font-weight:900;font-size:10px;cursor:pointer}.nav-actions .secondary,.actions .outline{background:#fff;color:#5f6d80;border:1px solid #dce3eb}.nav-actions span{font:800 9px Arial;color:#8b97a7}.actions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:22px 0}.kpi{border:1px solid #e1e7ee;border-radius:9px;padding:17px;background:#fafbfd}.kpi small{display:block;color:#8793a3;font-size:8px}.kpi strong{display:block;font:900 23px Arial;color:#0b1220;margin-top:7px}.health{padding:15px 17px;border-radius:9px;background:#eefbf5;border:1px solid #c8ecda;color:#23704c;font-size:10px}.alert{padding:13px 15px;margin:8px 0;border-radius:8px;background:#fff8e8;border:1px solid #f2d79e;color:#805714;font-size:10px;line-height:1.8}.alert.bad{background:#fff0f0;border-color:#f1caca;color:#9b3434}.report-block{margin-top:42px}.report-block>h3{display:flex;align-items:center;gap:10px;font-size:18px;color:#172033}.report-block>h3 i{width:34px;height:34px;display:grid;place-items:center;background:#172033;color:#fff;border-radius:7px;font:800 8px Arial;font-style:normal}.prose,.notes{line-height:2;color:#5c6b7e;font-size:11px}.table-wrap{overflow:auto;border:1px solid #e1e7ee;border-radius:9px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:12px;border-bottom:1px solid #edf0f4;text-align:right;font-size:9px}th{background:#f5f7fa;color:#66758a}td{color:#3f4d61}.reason{margin-top:10px;background:#f5f8fc;border-right:3px solid #60a5fa;padding:13px 15px;color:#66758a;font-size:9px;line-height:1.9}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.role-card{padding:16px;border:1px solid #e1e7ee;border-radius:9px;background:#fafbfd}.role-card b{display:block;font:900 11px Arial;color:#172033}.role-card span{display:block;color:#2563eb;font-size:9px;margin-top:5px}.role-card small{display:block;color:#8491a2;font-size:8px;margin-top:8px;line-height:1.7}.diagram{background:#081523;border:1px solid #203a57;border-radius:12px;padding:35px;color:#fff}.dia-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.dia-box{border:1px solid #2b496a;background:#0d1e31;border-radius:7px;padding:12px 15px;text-align:center;min-width:130px;font:800 9px Arial}.dia-box small{display:block;color:#7189a5;margin-top:6px;font-size:7px}.dia-line{height:28px;width:1px;background:#355879;margin:auto}.dia-switch{min-width:250px;border-color:#2f6fb4}.dia-nodes{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:28px}.notes div{border:1px solid #e1e7ee;background:#fafbfd;border-radius:8px;padding:14px;margin:7px 0}.notes b{color:#172033}@media(max-width:900px){.oa-head nav{display:none}.oa-head{grid-template-columns:1fr auto}.hero-grid{grid-template-columns:1fr}.wizard-tabs{overflow:auto;display:flex}.wizard-tabs button{min-width:120px}.grid{grid-template-columns:1fr 1fr}.kpis{grid-template-columns:repeat(2,1fr)}.role-grid{grid-template-columns:1fr 1fr}.dia-nodes{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.container{width:calc(100% - 24px)}.oa-head img{height:50px}.consult{display:none}.panel{padding:24px 17px}.grid,.role-grid,.kpis{grid-template-columns:1fr}.dia-nodes{grid-template-columns:1fr}.oa-hero{padding:48px 0}.oa-hero h1{font-size:36px}}@media print{.oa-header,.oa-hero,.wizard-tabs,.nav-actions,.actions{display:none!important}.architect{padding:0}.panel{display:none!important;border:0;box-shadow:none}.panel[data-step="6"]{display:block!important}.container{width:100%}.report-block{break-inside:avoid}}
/* ===== V3 readable report ===== */
.oa-head nav a{font-size:15px}.consult{font-size:14px}.eyebrow{font-size:12px}.oa-hero p{font-size:16px}.hero-tags span{font-size:11px}.hc-title,.hero-console>div:not(.hc-title){font-size:11px}
.wizard-tabs button{font-size:12px}.panel-title small{font-size:11px}.panel-title p{font-size:15px}.grid label{font-size:13px}.grid input,.grid select{font-size:14px}.doc-box{font-size:13px}
.nav-actions button,.actions button{font-size:13px}.nav-actions span{font-size:12px}
.result-title h2{font-size:34px}.report-phase{margin:58px 0 20px;padding:22px 24px;border-radius:12px;background:#0b1726;color:#fff;display:grid;grid-template-columns:auto auto 1fr;gap:14px;align-items:center}.report-phase span{font:800 11px Arial;color:#60a5fa}.report-phase b{font:900 18px Arial}.report-phase small{font-size:14px;color:#a7b7c9}
.report-block{padding:25px 0;border-bottom:1px solid #e7ebf0}.report-block>h3{font-size:23px}.report-block>h3 i{width:40px;height:40px;font-size:11px}.prose,.notes{font-size:15px}.kpi small{font-size:11px}.kpi strong{font-size:27px}.health,.alert{font-size:14px}
th,td{font-size:13px;padding:15px}.reason{font-size:13px}.role-card b{font-size:14px}.role-card span{font-size:12px}.role-card small{font-size:12px}
.hero-report{background:#f8fbff;border:1px solid #dfeaf7;border-radius:12px;padding:25px;margin-top:28px}.decision-box{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.decision{background:#fff;border:1px solid #dde6ef;border-radius:9px;padding:17px}.decision small{display:block;color:#7c8999;font-size:12px}.decision b{display:block;margin-top:7px;font-size:17px;color:#152238}
.check-group{display:grid;gap:8px}.check-item{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:start;border:1px solid #e1e7ee;background:#fff;border-radius:9px;padding:14px}.check-icon{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-weight:900}.check-item.todo .check-icon{background:#fff5db;color:#9a6812}.check-item.pass .check-icon{background:#e9f9f1;color:#18724b}.check-item.warn .check-icon{background:#fff0f0;color:#a13838}.check-item b{font-size:14px;color:#172033}.check-item p{margin:5px 0 0;font-size:13px;line-height:1.8;color:#6d7a8d}.check-state{font:800 10px Arial;color:#8a96a5}
.timeline{display:grid;gap:0}.timeline-step{display:grid;grid-template-columns:46px 1fr;gap:14px;position:relative;padding-bottom:18px}.timeline-step:not(:last-child):before{content:"";position:absolute;right:22px;top:39px;width:1px;height:calc(100% - 20px);background:#d9e1e9}.timeline-num{width:44px;height:44px;border-radius:9px;background:#172033;color:#fff;display:grid;place-items:center;font:900 12px Arial;z-index:1}.timeline-step b{font-size:15px;color:#172033}.timeline-step p{margin:5px 0 0;color:#6d7a8d;font-size:13px;line-height:1.8}
@media(max-width:700px){.report-phase{grid-template-columns:1fr}.decision-box{grid-template-columns:1fr}.check-item{grid-template-columns:34px 1fr}.check-state{grid-column:2}.report-block>h3{font-size:19px}}

/* ===== V4 Network Architecture Engine ===== */
.net-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}
.net-summary-card{border:1px solid #dfe6ee;background:#fff;border-radius:12px;padding:18px}
.net-summary-card small{display:block;font-size:12px;color:#7b8796;margin-bottom:7px}
.net-summary-card b{font-size:18px;color:#172033}
.net-summary-card p{font-size:13px;line-height:1.8;color:#667085;margin:7px 0 0}
.net-topology{margin-top:18px;border:1px solid #dfe6ee;border-radius:14px;padding:20px;background:#f8fafc;overflow:auto}
.net-row{display:flex;justify-content:center;align-items:stretch;gap:12px;min-width:760px}
.net-device{min-width:150px;border:1px solid #d8e1eb;background:#fff;border-radius:10px;padding:14px;text-align:center;font-size:13px;font-weight:800;color:#172033}
.net-device small{display:block;font-size:11px;font-weight:600;color:#78869a;margin-top:5px}
.net-device.switch{background:#0f1d2e;color:#fff;border-color:#0f1d2e}
.net-device.switch small{color:#a9bbcf}
.net-link{height:30px;width:2px;background:#a9b6c5;margin:0 auto}
.net-bonds{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px auto;max-width:700px}
.net-bond{border:1px dashed #aab8c8;border-radius:9px;background:#fff;padding:12px;text-align:center}
.net-bond b{font-size:13px}.net-bond small{display:block;font-size:11px;color:#6e7c8d;margin-top:5px;line-height:1.6}
.ip-badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#edf4ff;font:700 11px Arial;color:#2459a9}
.validation-ok{color:#18724b;font-weight:800}.validation-warn{color:#a56a00;font-weight:800}.validation-bad{color:#a13838;font-weight:800}
@media(max-width:900px){.net-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.net-summary-grid{grid-template-columns:1fr}}


/* =========================================================
   ABRPLUS GLOBAL PERSIAN TYPOGRAPHY FIX
   Prevent Persian words from breaking in the middle.
========================================================= */
body,
main,
header,
footer,
nav,
section,
article,
aside,
div,
p,
span,
a,
strong,
small,
label,
button,
h1,
h2,
h3,
h4,
h5,
h6,
li,
td,
th {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

h1, h2, h3, h4, h5, h6,
p, li, label, a, button {
    text-wrap: pretty;
}

nav a,
button,
[class*="button"],
[class*="btn"],
[class*="contact"],
[class*="category"],
[class*="tag"] {
    word-break: keep-all !important;
    hyphens: none !important;
}
