/* ===== RESET & BASE ===== */
*{box-sizing:border-box;}
body{font-family:'Poppins',sans-serif;background:#f8f9fa;color:#343a40;margin:0;}

/* ===== NAVBAR ===== */
.navbar-custom{background-color:#4A2B5E!important;box-shadow:0 2px 10px rgba(0,0,0,.1);}
.navbar-brand img{width:150px;height:auto;}
.nav-link{color:#e0e0e0!important;transition:color .3s;}
.nav-link:hover{color:#fff!important;}
.dropdown-menu{background-color:#5a3e74;border:none;}
.dropdown-item{color:#e0e0e0!important;transition:background-color .3s,color .3s;}
.dropdown-item:hover{background-color:#6d508c;color:#fff!important;}

/* ===== HERO ===== */
.hero-section{padding:50px 0 35px;margin-bottom:30px;}
.hero-section h1{font-size:2.6rem;font-weight:700;color:#4A2B5E;margin-bottom:8px;}
.hero-section p{font-size:1.2rem;color:#555;}

/* ===== BOXES ===== */
.box{background:#fff;border-radius:12px;padding:28px;margin-bottom:24px;box-shadow:0 4px 15px rgba(0,0,0,.08);}
.tool-card{background:#fff;border-radius:12px;padding:28px;box-shadow:0 4px 15px rgba(0,0,0,.08);margin-bottom:24px;}
.tool-card h2{color:#4A2B5E;font-weight:700;font-size:1.4rem;margin-bottom:16px;}
.tool-card p{font-size:.97rem;color:#555;margin-bottom:13px;}

/* ===== FORM ===== */
.form-label{font-weight:600;color:#4A2B5E;display:block;margin-bottom:5px;}
.form-control{width:100%;padding:10px 15px;margin-bottom:0;border:1px solid #ced4da;border-radius:8px;font-size:1rem;font-family:'Poppins',sans-serif;transition:border-color .3s,box-shadow .3s;}
.form-control:focus{border-color:#8A2BE2;box-shadow:0 0 0 .25rem rgba(138,43,226,.25);outline:none;}
.form-select-custom{width:100%;padding:10px 15px;border:1px solid #ced4da;border-radius:8px;font-size:1rem;font-family:'Poppins',sans-serif;background:#fff;transition:border-color .3s;cursor:pointer;}
.form-select-custom:focus{border-color:#8A2BE2;outline:none;}

/* ===== MODE TOGGLE ===== */
.mode-toggle{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap;}
.mode-btn{padding:10px 22px;border-radius:8px;border:2px solid #dee2e6;background:#fff;color:#6c757d;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:'Poppins',sans-serif;display:flex;align-items:center;gap:8px;}
.mode-btn:hover{border-color:#6F42C1;color:#6F42C1;}
.mode-btn.active{border-color:#6F42C1;background:#6F42C1;color:#fff;}
.mode-options{background:#f8f5ff;border:1px solid #e0d5f5;border-radius:10px;padding:16px 18px;margin-bottom:16px;display:none;}
.mode-options.show{display:block;}

/* ===== BUTTONS ===== */
.btn-run{background:#6F42C1;color:#fff;padding:12px 28px;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;font-family:'Poppins',sans-serif;transition:background .3s,transform .2s,box-shadow .3s;box-shadow:0 4px 10px rgba(0,0,0,.1);}
.btn-run:hover{background:#8A2BE2;transform:translateY(-2px);box-shadow:0 6px 15px rgba(0,0,0,.15);}
.btn-clr{background:#6c757d;color:#fff;padding:12px 22px;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;font-family:'Poppins',sans-serif;transition:background .3s;}
.btn-clr:hover{background:#5a6268;}
.btn-pdf{background:#dc3545;color:#fff;padding:9px 18px;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;font-family:'Poppins',sans-serif;transition:background .3s;display:flex;align-items:center;gap:6px;}
.btn-pdf:hover{background:#b02a37;}
.btn-txt{background:#28a745;color:#fff;padding:9px 18px;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;font-family:'Poppins',sans-serif;transition:background .3s;display:flex;align-items:center;gap:6px;}
.btn-txt:hover{background:#218838;}

/* ===== CARD ===== */
.card{border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.05);margin-bottom:20px;}
.card-header{background:#FFC107;color:#343a40;font-weight:700;border-top-left-radius:10px!important;border-top-right-radius:10px!important;padding:12px 20px;font-size:1rem;}
.card-body{padding:20px;}

/* ===== FOOTER ===== */
.footer-custom{background:#343a40!important;color:#e0e0e0!important;padding:28px 0;margin-top:50px;}
.footer-custom a{color:#6F42C1!important;text-decoration:none;transition:color .3s;}
.footer-custom a:hover{color:#8A2BE2!important;}

/* ===== PROGRESS ===== */
.pw{display:none;margin:18px 0 0;}
.pbar-bg{height:10px;border-radius:99px;background:#e9ecef;overflow:hidden;}
.pbar-fill{height:10px;border-radius:99px;background:linear-gradient(90deg,#6F42C1,#8A2BE2);width:0;transition:width .4s;}
.status-txt{font-size:13px;color:#6F42C1;margin-top:5px;font-weight:600;}

/* ===== ERROR MSG ===== */
.errmsg{background:#fde8e8;border:1px solid #f5c6cb;border-radius:10px;padding:13px 17px;color:#dc3545;font-size:14px;display:none;margin-top:14px;font-weight:600;}

/* ===== SCORE BANNER ===== */
.score-banner{display:none;background:#fff;border-radius:12px;padding:22px 26px;margin-bottom:22px;box-shadow:0 4px 15px rgba(0,0,0,.08);border:1px solid #e0e0e0;}
.score-circle{width:88px;height:88px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:24px;font-weight:800;border:5px solid;flex-shrink:0;}
.sc-lbl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-top:1px;}
.score-good{border-color:#28a745;color:#28a745;}
.score-warn{border-color:#FFC107;color:#e0a800;}
.score-bad{border-color:#dc3545;color:#dc3545;}
.bdg-err{background:#fde8e8;color:#dc3545;padding:4px 12px;border-radius:99px;font-size:12px;font-weight:700;display:inline-block;margin:2px;}
.bdg-warn{background:#fff8e1;color:#e0a800;padding:4px 12px;border-radius:99px;font-size:12px;font-weight:700;display:inline-block;margin:2px;}
.bdg-pass{background:#e8f5e9;color:#28a745;padding:4px 12px;border-radius:99px;font-size:12px;font-weight:700;display:inline-block;margin:2px;}
.proxy-bdg{display:inline-block;font-size:11px;padding:2px 10px;border-radius:99px;background:#ede7f6;color:#6F42C1;margin-top:5px;font-weight:600;}

/* ===== SUMMARY GRID ===== */
.sum-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:22px;}
.sum-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:14px 12px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.05);}
.sum-card .s-score{font-size:26px;font-weight:800;margin-bottom:4px;}
.sum-card .s-lbl{font-size:11px;font-weight:600;color:#6c757d;}
.sum-card .s-status{font-size:11px;font-weight:700;padding:2px 9px;border-radius:99px;display:inline-block;margin-top:5px;}

/* ===== TABS ===== */
.audit-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px;}
.atab{padding:8px 14px;border-radius:8px;border:1.5px solid #dee2e6;background:#fff;color:#6c757d;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;font-family:'Poppins',sans-serif;}
.atab:hover{border-color:#6F42C1;color:#6F42C1;}
.atab.active{border-color:#6F42C1;color:#fff;background:#6F42C1;}
.atab .tdot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;}
.tpanels>div{display:none;}
.tpanels>div.active{display:block;}

/* ===== ACCORDION ===== */
.asec{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:13px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.05);}
.ahdr{display:flex;align-items:center;gap:11px;padding:14px 18px;cursor:pointer;user-select:none;}
.ahdr:hover{background:#faf5ff;}
.aicon{font-size:18px;}
.atitle{font-size:14px;font-weight:700;flex:1;color:#343a40;}
.ast-good{background:#e8f5e9;color:#28a745;padding:3px 11px;border-radius:99px;font-size:11px;font-weight:700;}
.ast-warn{background:#fff8e1;color:#e0a800;padding:3px 11px;border-radius:99px;font-size:11px;font-weight:700;}
.ast-bad{background:#fde8e8;color:#dc3545;padding:3px 11px;border-radius:99px;font-size:11px;font-weight:700;}
.chev{font-size:12px;color:#adb5bd;transition:transform .25s;}
.abody{padding:17px 18px;display:none;border-top:1px solid #f0f0f0;}
.abody.open{display:block;}

/* ===== METRIC ROWS ===== */
.mrow{display:flex;align-items:center;gap:11px;margin-bottom:10px;flex-wrap:wrap;}
.mlbl{font-size:13px;color:#6c757d;width:210px;flex-shrink:0;font-weight:600;}
.mval{font-size:14px;font-weight:700;}
.mbar-bg{flex:1;min-width:80px;background:#e9ecef;border-radius:99px;height:6px;overflow:hidden;}
.mbar{height:6px;border-radius:99px;}

/* ===== COLORED BOXES ===== */
.rbox{background:#e8f5e9;border-left:4px solid #28a745;padding:11px 15px;border-radius:0 8px 8px 0;margin-top:11px;font-size:13px;line-height:1.7;}
.wbox{background:#fff8e1;border-left:4px solid #FFC107;padding:11px 15px;border-radius:0 8px 8px 0;margin-top:11px;font-size:13px;line-height:1.7;}
.ebox{background:#fde8e8;border-left:4px solid #dc3545;padding:11px 15px;border-radius:0 8px 8px 0;margin-top:11px;font-size:13px;line-height:1.7;}
.ibox{background:#ede7f6;border-left:4px solid #6F42C1;padding:11px 15px;border-radius:0 8px 8px 0;margin-top:11px;font-size:13px;line-height:1.7;}

/* ===== TABLES ===== */
.atable{width:100%;border-collapse:collapse;font-size:13px;margin-top:11px;}
.atable th{background:#f8f9fa;padding:9px 11px;text-align:left;color:#6c757d;font-weight:700;font-size:12px;border-bottom:2px solid #dee2e6;}
.atable td{padding:9px 11px;border-bottom:1px solid #f0f0f0;vertical-align:middle;}
.atable tr:last-child td{border-bottom:none;}
.atable tr:hover td{background:#faf5ff;}

/* ===== CHIPS ===== */
.kchip{display:inline-block;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:700;margin:2px;}
.kfound{background:#e8f5e9;color:#28a745;}
.kmiss{background:#fde8e8;color:#dc3545;}

/* ===== HEADING TREE ===== */
.htree{font-size:13px;line-height:2;background:#f8f9fa;border-radius:8px;padding:13px 15px;margin:9px 0;}
.hh1{font-weight:800;color:#4A2B5E;font-size:14px;}
.hh2{padding-left:18px;font-weight:600;color:#6F42C1;}
.hh3{padding-left:36px;color:#6c757d;}

/* ===== SERP PREVIEW ===== */
.serp-preview{background:#fff;border:1px solid #dfe1e5;border-radius:8px;padding:14px 18px;margin:10px 0;}
.serp-url{color:#006621;font-size:13px;margin-bottom:3px;}
.serp-title{color:#1a0dab;font-size:19px;font-weight:400;margin-bottom:4px;}
.serp-desc{color:#545454;font-size:13px;line-height:1.6;}

/* ===== LINK ROWS ===== */
.lrow{display:flex;align-items:flex-start;gap:9px;padding:7px 0;border-bottom:1px solid #f0f0f0;font-size:13px;}
.lrow:last-child{border-bottom:none;}
.lanchor{font-weight:600;color:#6F42C1;min-width:130px;flex-shrink:0;}
.lto{color:#6c757d;flex:1;font-size:12px;word-break:break-all;}

/* ===== TECH ITEMS ===== */
.titem{display:flex;align-items:flex-start;gap:11px;padding:10px 0;border-bottom:1px solid #f0f0f0;}
.titem:last-child{border-bottom:none;}
.ticon{font-size:17px;padding-top:2px;}
.tname{font-size:14px;font-weight:700;margin-bottom:2px;}
.tdesc{font-size:12px;color:#6c757d;line-height:1.6;}

/* ===== READABILITY GAUGE ===== */
.read-track{background:linear-gradient(90deg,#dc3545 0%,#FFC107 45%,#28a745 80%);border-radius:99px;height:13px;position:relative;margin:8px 0 20px;}
.read-needle{position:absolute;top:-5px;width:23px;height:23px;border-radius:50%;background:#fff;border:3px solid #343a40;transform:translateX(-50%);transition:left .6s;box-shadow:0 2px 6px rgba(0,0,0,.2);}
.read-labels{display:flex;justify-content:space-between;font-size:11px;color:#6c757d;margin-top:3px;}

/* ===== PRIORITY MATRIX ===== */
.priority-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;}
.pquad{border-radius:10px;padding:14px;font-size:13px;}
.pquad-title{font-weight:700;font-size:13px;margin-bottom:9px;display:flex;align-items:center;gap:7px;}
.pquad ul{padding-left:17px;margin:0;}
.pquad ul li{margin-bottom:5px;line-height:1.5;}
.pq-hi-hi{background:#fff3cd;border:1px solid #ffc107;}
.pq-hi-lo{background:#d4edda;border:1px solid #28a745;}
.pq-lo-hi{background:#f8d7da;border:1px solid #dc3545;}
.pq-lo-lo{background:#e2e3e5;border:1px solid #adb5bd;}

/* ===== MULTI-PAGE CRAWL ===== */
.crawl-page-item{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:11px 14px;margin-bottom:9px;}
.crawl-page-url{font-size:12px;color:#6F42C1;font-weight:600;margin-bottom:5px;word-break:break-all;}
.crawl-page-scores{display:flex;gap:8px;flex-wrap:wrap;}
.cps{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;}
.cps-g{background:#e8f5e9;color:#28a745;}
.cps-w{background:#fff8e1;color:#e0a800;}
.cps-b{background:#fde8e8;color:#dc3545;}

/* ===== GEO MODULE ===== */
.geo-item{display:flex;align-items:flex-start;gap:11px;padding:11px 0;border-bottom:1px solid #f0f0f0;}
.geo-item:last-child{border-bottom:none;}
.geo-icon{font-size:20px;}
.geo-title{font-weight:700;font-size:14px;margin-bottom:3px;}
.geo-desc{font-size:12px;color:#6c757d;line-height:1.6;}

/* ===== INTENT BADGE ===== */
.intent-badge{display:inline-block;font-size:12px;font-weight:700;padding:4px 14px;border-radius:99px;margin-top:4px;}
.intent-info{background:#e3f2fd;color:#1565c0;}
.intent-trans{background:#e8f5e9;color:#2e7d32;}
.intent-nav{background:#fff8e1;color:#e65100;}
.intent-comm{background:#f3e5f5;color:#6a1b9a;}

/* ===== BRANDING MODAL ===== */
.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:9999;display:none;align-items:center;justify-content:center;}
.modal-overlay.show{display:flex;}
.modal-box{background:#fff;border-radius:14px;padding:30px;max-width:480px;width:90%;box-shadow:0 10px 40px rgba(0,0,0,.2);}
.modal-box h4{color:#4A2B5E;font-weight:700;margin-bottom:18px;}
.modal-input{width:100%;padding:9px 13px;border:1px solid #ced4da;border-radius:8px;font-size:14px;font-family:'Poppins',sans-serif;margin-bottom:12px;}
.modal-input:focus{border-color:#6F42C1;outline:none;}
.modal-btns{display:flex;gap:10px;justify-content:flex-end;margin-top:6px;}

/* ===== RESPONSIVE ===== */
@media(max-width:991.98px){
  .navbar-brand img{width:100px;}
  .hero-section h1{font-size:1.8rem;}
  .hero-section p{font-size:1rem;}
  .mlbl{width:140px;}
  .priority-grid{grid-template-columns:1fr;}
}

/* ===== PDF HIDDEN ===== */
@media print{
  .navbar-custom,.hero-section,.box,.tool-card,.footer-custom,.audit-tabs,.btn-run,.btn-clr,.btn-pdf,.btn-txt,.mode-toggle,.pw,.errmsg{display:none!important;}
  body{background:#fff!important;}
  .score-banner,.sum-grid,.card,.asec{break-inside:avoid;}
  .abody{display:block!important;}
  .score-banner{display:block!important;}
  #results{display:block!important;}
  .tpanels>div{display:block!important;}
}
