/* ============================================================
   DraftWise India — Complete Design System v1.0
   ============================================================ */
:root {
  --dw-primary:      #1a3c5e;
  --dw-primary-dark: #122840;
  --dw-accent:       #e67e22;
  --dw-accent-hover: #cf6d17;
  --dw-green:        #27ae60;
  --dw-red:          #c0392b;
  --dw-yellow:       #f39c12;
  --dw-purple:       #7c3aed;
  --dw-bg:           #f4f6f9;
  --dw-surface:      #ffffff;
  --dw-border:       #dce3ec;
  --dw-text:         #1a1a2e;
  --dw-muted:        #6b7a99;
  --dw-shadow-sm:    0 1px 4px rgba(0,0,0,.08);
  --dw-shadow-md:    0 4px 16px rgba(0,0,0,.12);
  --dw-radius:       8px;
  --dw-radius-lg:    12px;
  --dw-font:         'Noto Sans','Segoe UI',sans-serif;
  --dw-transition:   200ms ease;
}
*,*::before,*::after{box-sizing:border-box}
body{font-family:var(--dw-font);background:var(--dw-bg);color:var(--dw-text);font-size:1rem;line-height:1.65;margin:0}
a{color:var(--dw-primary);text-decoration:none}
a:hover{color:var(--dw-accent);text-decoration:underline}
img{max-width:100%}
h1,h2,h3,h4,h5,h6{color:var(--dw-primary);font-weight:700}

/* Skip link */
.skip-link{position:absolute;top:-100px;left:1rem;z-index:9999;background:var(--dw-primary);color:#fff;padding:.5rem 1rem;border-radius:var(--dw-radius);font-weight:600;transition:top var(--dw-transition)}
.skip-link:focus{top:1rem}

/* ---- NAVBAR ---- */
.dw-navbar{background:var(--dw-primary);padding:.75rem 0;position:sticky;top:0;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.dw-navbar .navbar-brand{color:#fff!important;font-size:1.3rem;font-weight:800;display:flex;align-items:center;gap:.5rem}
.dw-navbar .navbar-brand span{color:var(--dw-accent)}
.dw-navbar .nav-link{color:rgba(255,255,255,.85)!important;font-size:.875rem}
.dw-navbar .nav-link:hover,.dw-navbar .nav-link.active{color:#fff!important}
.dw-navbar .navbar-toggler{border-color:rgba(255,255,255,.3)}
.dw-navbar .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,.85%29' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}

/* ---- HERO ---- */
.dw-hero{background:linear-gradient(135deg,var(--dw-primary) 0%,#2c5f8f 100%);color:#fff;padding:3.5rem 0 3rem;text-align:center}
.dw-hero h1{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:.5rem}
.dw-hero p{color:rgba(255,255,255,.85);font-size:1.05rem;margin-bottom:1.5rem}
.dw-hero-badges{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.dw-hero-badge{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem}

/* ---- CATEGORY GRID ---- */
.dw-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}
.dw-category-card{background:var(--dw-surface);border:2px solid var(--dw-border);border-radius:var(--dw-radius-lg);padding:1.25rem 1rem;text-align:center;cursor:pointer;transition:all var(--dw-transition);text-decoration:none;color:var(--dw-text);display:block}
.dw-category-card:hover,.dw-category-card:focus{border-color:var(--dw-primary);box-shadow:var(--dw-shadow-md);transform:translateY(-2px);color:var(--dw-primary);text-decoration:none}
.dw-category-card .cat-icon{font-size:2rem;display:block;margin-bottom:.5rem}
.dw-category-card .cat-name{font-size:.9rem;font-weight:700}
.dw-category-card .cat-count{font-size:.75rem;color:var(--dw-muted);margin-top:.2rem}

/* ---- TEMPLATE LIST ---- */
.dw-template-list{display:flex;flex-direction:column;gap:.6rem}
.dw-template-item{background:var(--dw-surface);border:1px solid var(--dw-border);border-left:4px solid var(--dw-primary);border-radius:var(--dw-radius);padding:1rem 1.25rem;cursor:pointer;transition:all var(--dw-transition);display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:var(--dw-text)}
.dw-template-item:hover{border-left-color:var(--dw-accent);box-shadow:var(--dw-shadow-sm);color:var(--dw-primary);text-decoration:none}
.dw-template-item .tmpl-name{font-weight:700;font-size:.95rem}
.dw-template-item .tmpl-desc{font-size:.8rem;color:var(--dw-muted);margin-top:.15rem}
.dw-template-item .tmpl-badge{background:var(--dw-bg);color:var(--dw-primary);font-size:.72rem;padding:.2rem .55rem;border-radius:10px;border:1px solid var(--dw-border);white-space:nowrap;margin-left:.75rem;flex-shrink:0}

/* ---- STEPPER ---- */
.dw-stepper{display:flex;border-radius:var(--dw-radius);overflow:hidden;border:1px solid var(--dw-border)}
.dw-step{flex:1;padding:.65rem .4rem;text-align:center;font-size:.78rem;font-weight:600;background:var(--dw-surface);color:var(--dw-muted);border-right:1px solid var(--dw-border);transition:all var(--dw-transition)}
.dw-step:last-child{border-right:none}
.dw-step.active{background:var(--dw-primary);color:#fff}
.dw-step.completed{background:var(--dw-green);color:#fff}
.dw-step .step-num{display:inline-block;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.2);font-size:.72rem;line-height:20px;margin-bottom:.1rem}

/* ---- FORM ---- */
.dw-form-card{background:var(--dw-surface);border:1px solid var(--dw-border);border-radius:var(--dw-radius-lg);padding:1.75rem;box-shadow:var(--dw-shadow-sm)}
.dw-field-group{background:var(--dw-bg);border:1px solid var(--dw-border);border-radius:var(--dw-radius);padding:1.25rem;margin-bottom:1rem}
.dw-field-group legend{font-size:.82rem;font-weight:700;color:var(--dw-primary);padding:0 .5rem;text-transform:uppercase;letter-spacing:.05em}
.dw-form-label{font-size:.875rem;font-weight:600;color:var(--dw-text);margin-bottom:.3rem;display:block}
.dw-form-label .req{color:var(--dw-red);margin-left:.2rem}
.dw-form-control{display:block;width:100%;padding:.5rem .85rem;border:1.5px solid var(--dw-border);border-radius:var(--dw-radius);font-size:.9rem;font-family:var(--dw-font);background:var(--dw-surface);color:var(--dw-text);transition:border-color var(--dw-transition),box-shadow var(--dw-transition)}
.dw-form-control:focus{outline:none;border-color:var(--dw-primary);box-shadow:0 0 0 3px rgba(26,60,94,.15)}
.dw-form-control.is-invalid{border-color:var(--dw-red)}
.dw-field-hint{font-size:.78rem;color:var(--dw-muted);margin-top:.25rem}
.dw-field-error{font-size:.78rem;color:var(--dw-red);margin-top:.2rem;display:none}
.dw-form-control.is-invalid~.dw-field-error{display:block}
textarea.dw-form-control{resize:vertical}
select.dw-form-control{cursor:pointer}

/* ---- INFO PANEL ---- */
.dw-info-panel{background:#eaf4fd;border:1px solid #b3d4ef;border-left:4px solid var(--dw-primary);border-radius:var(--dw-radius);padding:1.1rem 1.25rem}
.dw-info-panel h4{font-size:.92rem;margin-bottom:.6rem;color:var(--dw-primary)}
.dw-info-panel .info-row{display:flex;gap:.75rem;font-size:.83rem;margin-bottom:.35rem;align-items:flex-start}
.dw-info-panel .info-label{font-weight:700;min-width:130px;color:var(--dw-primary);flex-shrink:0}

/* ---- READINESS SCORE ---- */
.dw-score-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px}
.dw-score-ring svg{position:absolute;top:0;left:0;transform:rotate(-90deg)}
.dw-score-value{font-size:1.35rem;font-weight:800;line-height:1}
.dw-score-sub{font-size:.68rem;color:var(--dw-muted)}
.dw-readiness-card{background:var(--dw-surface);border:1px solid var(--dw-border);border-radius:var(--dw-radius-lg);padding:1.1rem}
.dw-readiness-issues{list-style:none;padding:0;margin:.5rem 0 0}
.dw-readiness-issues li{display:flex;gap:.5rem;font-size:.82rem;margin-bottom:.3rem;align-items:flex-start}

/* ---- EVIDENCE / CHECKLIST ---- */
.dw-checklist{list-style:none;padding:0;margin:0}
.dw-checklist li{display:flex;align-items:flex-start;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--dw-border);font-size:.85rem}
.dw-checklist li:last-child{border-bottom:none}
.dw-checklist input[type="checkbox"]{margin-top:.1rem;flex-shrink:0;accent-color:var(--dw-primary)}

/* ---- ESCALATION ---- */
.dw-escalation{display:flex;flex-direction:column}
.dw-escalation-step{display:flex;align-items:flex-start;gap:.85rem}
.dw-escalation-connector{display:flex;flex-direction:column;align-items:center;min-width:30px}
.dw-escalation-dot{width:30px;height:30px;border-radius:50%;background:var(--dw-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0}
.dw-escalation-line{width:2px;background:var(--dw-border);flex:1;min-height:20px}
.dw-escalation-content{padding-bottom:.85rem;flex:1}
.dw-escalation-content h5{font-size:.875rem;margin-bottom:.1rem}
.dw-escalation-content p{font-size:.78rem;color:var(--dw-muted);margin:0}

/* ---- PREVIEW ---- */
.dw-preview-wrapper{background:var(--dw-surface);border:1px solid var(--dw-border);border-radius:var(--dw-radius-lg);overflow:hidden;box-shadow:var(--dw-shadow-md)}
.dw-preview-toolbar{background:var(--dw-primary);color:#fff;padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.dw-preview-toolbar .preview-title{font-weight:700;font-size:.9rem}
.preview-mode-tabs{display:flex;gap:.25rem}
.mode-tab{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;padding:.22rem .7rem;border-radius:4px;font-size:.75rem;cursor:pointer;transition:background var(--dw-transition)}
.mode-tab.active{background:var(--dw-accent);border-color:var(--dw-accent)}
.dw-document-body{padding:2rem 2.5rem;font-family:'Times New Roman',Times,serif;font-size:1rem;line-height:1.85;min-height:400px;white-space:pre-wrap;color:#000}
.dw-disclaimer{background:#fff8e1;border:1px solid #ffe082;border-left:4px solid var(--dw-yellow);border-radius:var(--dw-radius);padding:1rem 1.25rem;font-size:.82rem;color:#5d4037}
.dw-disclaimer strong{display:block;margin-bottom:.2rem;font-size:.85rem}

/* ---- DOWNLOAD BAR ---- */
.dw-download-bar{display:flex;gap:.65rem;flex-wrap:wrap;padding:1rem 1.25rem;border-top:1px solid var(--dw-border);background:var(--dw-bg)}

/* ---- BUTTONS ---- */
.btn-dw-primary,.btn-dw-accent,.btn-dw-outline,.btn-dw-ghost{display:inline-flex;align-items:center;gap:.4rem;padding:.52rem 1.2rem;border-radius:var(--dw-radius);font-weight:600;font-size:.875rem;cursor:pointer;border:none;transition:all var(--dw-transition);text-decoration:none;line-height:1.4}
.btn-dw-primary{background:var(--dw-primary);color:#fff}
.btn-dw-primary:hover{background:var(--dw-primary-dark);color:#fff}
.btn-dw-accent{background:var(--dw-accent);color:#fff}
.btn-dw-accent:hover{background:var(--dw-accent-hover);color:#fff}
.btn-dw-outline{background:transparent;color:var(--dw-primary);border:2px solid var(--dw-primary)}
.btn-dw-outline:hover{background:var(--dw-primary);color:#fff}
.btn-dw-ghost{background:transparent;color:var(--dw-muted);border:1px solid var(--dw-border)}
.btn-dw-ghost:hover{background:var(--dw-bg);color:var(--dw-primary)}
button:disabled{opacity:.55;cursor:not-allowed}

/* ---- AD SLOTS ---- */
.dw-ad-slot{background:#f8f9fa;border:1px dashed #ccc;border-radius:var(--dw-radius);display:flex;align-items:center;justify-content:center;color:#bbb;font-size:.75rem;text-align:center;overflow:hidden}
.dw-ad-header{min-height:90px;width:100%}
.dw-ad-sidebar{min-height:250px}
.dw-ad-inline{min-height:90px;width:100%;margin:1.5rem 0}

/* ---- ALERTS ---- */
.dw-alert{border-radius:var(--dw-radius);padding:.85rem 1rem;font-size:.875rem;display:flex;gap:.5rem;align-items:flex-start;margin-bottom:1rem}
.dw-alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}
.dw-alert-warning{background:#fff3cd;border:1px solid #ffeeba;color:#856404}
.dw-alert-danger{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}
.dw-alert-info{background:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}

/* ---- STRENGTH BAR ---- */
.dw-strength-bar{height:8px;border-radius:4px;background:var(--dw-border);margin:.4rem 0;overflow:hidden}
.dw-strength-fill{height:100%;border-radius:4px;transition:width .5s ease,background .3s}

/* ---- BREADCRUMB ---- */
.dw-breadcrumb{display:flex;gap:.35rem;align-items:center;font-size:.8rem;color:var(--dw-muted);flex-wrap:wrap;padding:.5rem 0;margin-bottom:1rem}
.dw-breadcrumb a{color:var(--dw-primary)}
.dw-breadcrumb .sep{color:var(--dw-border)}

/* ---- SEARCH ---- */
.dw-search-bar{position:relative;max-width:500px;margin:0 auto 2rem}
.dw-search-bar input{width:100%;padding:.65rem 2.75rem .65rem 1rem;border:2px solid var(--dw-border);border-radius:24px;font-size:.9rem;background:var(--dw-surface);font-family:var(--dw-font)}
.dw-search-bar input:focus{outline:none;border-color:var(--dw-primary);box-shadow:0 0 0 3px rgba(26,60,94,.12)}
.dw-search-icon{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);color:var(--dw-muted);pointer-events:none}
#search-results{position:absolute;top:100%;left:0;right:0;background:var(--dw-surface);border:1px solid var(--dw-border);border-radius:var(--dw-radius);box-shadow:var(--dw-shadow-md);z-index:100;max-height:320px;overflow-y:auto;display:none}
#search-results.open{display:block}

/* ---- JOURNEY SHEET ---- */
.dw-journey-sheet{border:2px solid var(--dw-border);border-radius:var(--dw-radius-lg);padding:1.25rem;background:var(--dw-surface)}
.dw-journey-row{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--dw-border);padding:.45rem 0;font-size:.83rem}
.dw-journey-row:last-child{border-bottom:none}
.dw-journey-label{font-weight:700;color:var(--dw-primary)}

/* ---- FOOTER ---- */
.dw-footer{background:var(--dw-primary-dark);color:rgba(255,255,255,.75);padding:2.5rem 0 1.5rem;margin-top:4rem;font-size:.875rem}
.dw-footer h5{color:#fff;font-size:.92rem;margin-bottom:.65rem}
.dw-footer a{color:rgba(255,255,255,.7)}
.dw-footer a:hover{color:var(--dw-accent);text-decoration:none}
.dw-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.1rem;margin-top:1.5rem;font-size:.78rem;text-align:center;color:rgba(255,255,255,.45)}
.dw-footer .footer-disc{font-size:.75rem;color:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.1);border-radius:var(--dw-radius);padding:.65rem 1rem;margin-top:.85rem}

/* ---- UTILITY ---- */
.hidden{display:none!important}
.section-divider{border:none;border-top:2px solid var(--dw-border);margin:2rem 0}
.tag-chip{display:inline-block;background:var(--dw-bg);border:1px solid var(--dw-border);color:var(--dw-muted);padding:.12rem .5rem;border-radius:10px;font-size:.72rem}
.spin{animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
:focus-visible{outline:3px solid var(--dw-accent);outline-offset:2px}

/* ---- RESPONSIVE ---- */
@media(max-width:767px){
  .dw-hero{padding:2rem 0 1.5rem}
  .dw-form-card{padding:1rem}
  .dw-document-body{padding:1rem;font-size:.9rem}
  .dw-download-bar{flex-direction:column}
  .dw-category-grid{grid-template-columns:repeat(2,1fr)}
  .dw-stepper{font-size:.7rem}
  .dw-step{padding:.5rem .2rem}
  .dw-info-panel .info-label{min-width:90px}
}

/* ---- PRINT ---- */
@media print{
  .dw-navbar,.dw-hero,.dw-ad-slot,.dw-stepper,.dw-download-bar,.dw-footer,.no-print{display:none!important}
  .dw-document-body{padding:0;font-size:11pt;line-height:1.7}
  body{background:#fff}
  .hidden{display:block!important}
}
