/* ========== Password Gate ========== */
.password-gate{position:fixed;top:44px;left:0;width:100%;height:calc(100vh - 44px);background:linear-gradient(135deg,#0a0f1c 0%,#1a1f3c 50%,#0d1117 100%);display:flex;align-items:center;justify-content:center;z-index:2000;}
.password-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:3rem 2.5rem;text-align:center;max-width:420px;width:90%;backdrop-filter:blur(20px);}
.lock-icon{width:60px;height:60px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:1.4rem;color:#fff;}
.password-card h2{color:#fff;margin-bottom:.5rem;font-size:1.5rem;}
.password-card .subtitle{color:rgba(255,255,255,.5);font-size:.9rem;margin-bottom:2rem;}
.password-input-wrap{display:flex;gap:.6rem;}
.password-input-wrap input{flex:1;padding:.75rem 1rem;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font-size:1rem;}
.password-input-wrap input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(99,102,241,.25);}
.password-input-wrap .btn{white-space:nowrap;padding:.75rem 1.5rem;font-size:.95rem;}
.password-error{color:#f87171;font-size:.85rem;margin-top:.8rem;min-height:1.2em;}

/* ========== Hero ========== */
.bidreview-hero{padding:6rem 0 2.5rem;background:linear-gradient(135deg,#0a0f1c 0%,#1a1f3c 50%,#0d1117 100%);text-align:center;color:#fff;}
.bidreview-hero h1{font-size:2.2rem;margin-bottom:.6rem;font-weight:800;}
.bidreview-hero h1 i{margin-right:.5rem;color:var(--primary);}
.bidreview-hero p{color:rgba(255,255,255,.55);font-size:1rem;line-height:1.7;}
.beta-tag{display:inline-block;background:rgba(251,191,36,.15);color:#fbbf24;font-size:.78rem;font-weight:600;padding:.3rem .8rem;border-radius:30px;margin-bottom:1rem;}
.beta-tag i{margin-right:.3rem;}

/* ========== Toolbar ========== */
.bidreview-toolbar{padding:1rem 0;background:#0f172a;border-bottom:1px solid rgba(99,102,241,.08);}
.bidreview-toolbar__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.bidreview-toolbar__status{display:inline-flex;align-items:center;gap:.45rem;font-size:.84rem;color:rgba(255,255,255,.58);}
.bidreview-toolbar .btn{font-size:.85rem;padding:.45rem 1rem;}

/* ========== Model Bar ========== */
.model-bar{padding:.7rem 0;background:rgba(99,102,241,.04);border-bottom:1px solid rgba(99,102,241,.08);}
.model-bar-inner{max-width:800px;margin:0 auto;display:flex;align-items:center;gap:.7rem;}
.model-bar-group{display:flex;align-items:center;gap:.7rem;flex:1;min-width:0;}
.model-bar-label{font-size:.82rem;color:rgba(255,255,255,.5);font-weight:600;display:flex;align-items:center;gap:.35rem;white-space:nowrap;}
.model-bar-label i{color:var(--primary);font-size:.8rem;}
.model-select-wrap{position:relative;flex:1;max-width:420px;}
.model-select{width:100%;appearance:none;-webkit-appearance:none;background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.42rem .7rem .42rem .7rem;padding-right:2rem;font-size:.82rem;cursor:pointer;transition:all .2s;}
.model-select:hover{border-color:rgba(99,102,241,.4);background:rgba(99,102,241,.06);}
.model-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(99,102,241,.15);}
.model-select option{background:#1a1f3c;color:#fff;}
.model-select-arrow{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);font-size:.6rem;color:rgba(255,255,255,.35);pointer-events:none;}
.model-feature{max-width:800px;margin:.45rem auto 0;color:rgba(255,255,255,.45);font-size:.78rem;line-height:1.45;padding:0 .2rem;}

/* ========== Doc Section (shared) ========== */
/* Force dark background for the whole bidreview page content areas to match the dark theme components */
body {
    background-color: #0f172a; /* Dark background to match the white text styles */
    color: #f1f5f9;
}

.doc-section{padding:2.5rem 0 1.5rem;background:#0f172a;}
.doc-section-alt{background:#0b1120;}
.doc-block{max-width:800px;margin:0 auto;}

/* Upload Card */
.upload-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:1.8rem;}
.upload-card-header{display:flex;align-items:center;gap:.7rem;margin-bottom:1.2rem;}
.upload-card-header i{font-size:1.5rem;color:var(--primary);}
.upload-card-header h3{flex:1;font-size:1.15rem;color:#fff;margin:0;}
.doc-status{font-size:.75rem;padding:.25rem .7rem;border-radius:30px;font-weight:600;letter-spacing:.02em;}
.doc-status.empty{background:rgba(255,255,255,.06);color:rgba(255,255,255,.4);}
.doc-status.ready{background:rgba(16,185,129,.15);color:#10b981;}

.upload-zone{position:relative;border:2px dashed rgba(255,255,255,.12);border-radius:12px;padding:2.5rem 1rem;text-align:center;cursor:pointer;transition:all .25s;}
.upload-zone:hover{border-color:var(--primary);background:rgba(99,102,241,.05);}
.upload-zone input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;}
.upload-zone>i{font-size:2.2rem;color:var(--primary);margin-bottom:.6rem;display:block;}
.upload-zone p{color:rgba(255,255,255,.6);margin:.3rem 0;}
.upload-zone .hint{font-size:.8rem;color:rgba(255,255,255,.35);}

.file-info{display:flex;align-items:center;gap:.6rem;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.2);border-radius:10px;padding:.75rem 1rem;margin-top:1rem;color:#10b981;}
.file-info .name{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.file-info .size{font-size:.82rem;color:rgba(16,185,129,.7);}
.remove-file{background:none;border:none;color:#f87171;cursor:pointer;font-size:1rem;padding:.2rem .5rem;}

.text-toggle{text-align:center;margin-top:.8rem;}
.text-toggle button{background:none;border:none;color:rgba(255,255,255,.4);font-size:.85rem;cursor:pointer;}
.text-toggle button:hover{color:var(--primary);}
.doc-textarea{width:100%;min-height:160px;margin-top:.5rem;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.03);color:#fff;font-size:.9rem;line-height:1.6;resize:vertical;}
.doc-textarea:focus{border-color:var(--primary);outline:none;}
.doc-textarea.hidden{display:none;}
.char-count{text-align:right;font-size:.78rem;color:rgba(255,255,255,.3);margin-top:.3rem;min-height:1rem;}

/* Action bar below each upload card */
.doc-action-bar{display:flex;align-items:center;gap:1rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.06);}
.doc-action-bar .btn{padding:.6rem 1.5rem;font-size:.92rem;}
.doc-action-bar .btn:disabled{opacity:.4;cursor:not-allowed;}
.doc-action-tip{font-size:.82rem;color:rgba(255,255,255,.35);}

/* Per-doc pipeline results */
.doc-pipeline{margin-top:1.5rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:1.5rem;}
.doc-pipeline-header{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;}
.doc-pipeline-header h4{flex:1;color:#fff;font-size:1rem;margin:0;}
.doc-pipeline-header h4 i{margin-right:.4rem;color:var(--primary);}
.pipeline-status{font-size:.78rem;padding:.2rem .6rem;border-radius:20px;background:rgba(99,102,241,.12);color:var(--primary);}

/* ========== Compare Section ========== */
.compare-section{padding:3rem 0 2rem;background:linear-gradient(180deg,rgba(99,102,241,.04),transparent);border-top:1px solid rgba(99,102,241,.12);}
.compare-header{text-align:center;margin-bottom:1.5rem;}
.compare-header h2{font-size:1.6rem;color:#fff;margin-bottom:.4rem;}
.compare-header h2 i{margin-right:.5rem;color:var(--primary);}
.compare-header p{color:rgba(255,255,255,.45);font-size:.92rem;}

.compare-readiness{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem;flex-wrap:wrap;}
.readiness-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:rgba(255,255,255,.6);}
.readiness-item i{font-size:.55rem;}
.readiness-tag{font-size:.72rem;padding:.18rem .55rem;border-radius:20px;font-weight:600;}
.readiness-tag.pending{background:rgba(255,255,255,.06);color:rgba(255,255,255,.4);}
.readiness-tag.done{background:rgba(16,185,129,.15);color:#10b981;}

.compare-action-bar{text-align:center;margin-bottom:2rem;}
.btn-lg{padding:.8rem 2.5rem!important;font-size:1.05rem!important;}

/* Pipeline steps */
.compare-pipeline{max-width:800px;margin:0 auto;}
.overall-progress{margin-bottom:1.5rem;}
.progress-bar-wrap{height:6px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden;}
.progress-bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:3px;transition:width .4s;}
.progress-text{display:flex;justify-content:space-between;margin-top:.4rem;font-size:.8rem;color:rgba(255,255,255,.45);}

.pipeline-steps{display:flex;flex-direction:column;gap:1rem;}

/* Pipeline Step Card */
.step-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden;transition:border-color .3s;}
.step-card.active{border-color:rgba(99,102,241,.3);}
.step-card.done{border-color:rgba(16,185,129,.25);}
.step-card.error{border-color:rgba(248,113,113,.3);}

.step-header{display:flex;align-items:center;gap:.7rem;padding:.9rem 1.2rem;cursor:pointer;user-select:none;}
.step-number{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;background:rgba(255,255,255,.06);color:rgba(255,255,255,.4);flex-shrink:0;}
.step-card.active .step-number{background:rgba(99,102,241,.2);color:var(--primary);animation:pulse 1.4s infinite;}
.step-card.done .step-number{background:rgba(16,185,129,.15);color:#10b981;}
.step-card.error .step-number{background:rgba(248,113,113,.15);color:#f87171;}

@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(99,102,241,.3);}50%{box-shadow:0 0 0 6px rgba(99,102,241,0);}}

.step-title{flex:1;font-size:.9rem;color:rgba(255,255,255,.6);}
.step-card.active .step-title{color:#fff;font-weight:600;}
.step-card.done .step-title{color:#10b981;}
.step-card.error .step-title{color:#f87171;}

.step-hint{font-size:.72rem;color:rgba(255,255,255,.25);margin-left:auto;}
.step-expand-icon{color:rgba(255,255,255,.25);font-size:.75rem;transition:transform .25s;margin-left:.3rem;}
.step-card.expanded .step-expand-icon{transform:rotate(180deg);}

.step-body{display:none;padding:0 1.2rem 1.2rem;}
.step-card.expanded .step-body{display:block;}

.step-content{font-size:.88rem;color:rgba(255,255,255,.65);line-height:1.7;}
.step-content strong{color:#fff;}
.step-content ul{padding-left:1.2rem;margin:.4rem 0;}
.step-content table{width:100%;border-collapse:collapse;margin:.6rem 0;font-size:.82rem;}
.step-content table th{background:rgba(99,102,241,.1);padding:.5rem .7rem;text-align:left;font-weight:600;color:var(--primary);border:1px solid rgba(255,255,255,.08);}
.step-content table td{padding:.5rem .7rem;border:1px solid rgba(255,255,255,.06);}

/* Report */
.report-section{padding:2rem 0 3rem;display:none;}
.report-card{background:rgba(255,255,255,.03);border:1px solid rgba(99,102,241,.15);border-radius:16px;padding:2.5rem;max-width:900px;margin:0 auto;font-size:.92rem;color:rgba(255,255,255,.7);line-height:1.8;}
.report-card h2{color:var(--primary);margin:1.2rem 0 .6rem;font-size:1.15rem;border-bottom:1px solid rgba(99,102,241,.15);padding-bottom:.4rem;}
.report-card h3{color:#fff;font-size:1rem;margin:1rem 0 .3rem;}
.report-card table{width:100%;border-collapse:collapse;margin:.8rem 0;font-size:.85rem;}
.report-card table th{background:rgba(99,102,241,.1);padding:.55rem .7rem;text-align:left;font-weight:600;color:var(--primary);border:1px solid rgba(255,255,255,.08);}
.report-card table td{padding:.55rem .7rem;border:1px solid rgba(255,255,255,.06);}
.report-actions{display:flex;gap:.8rem;justify-content:center;margin-top:1.5rem;max-width:900px;margin-left:auto;margin-right:auto;}

/* ========== Spinner ========== */
.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.15);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;margin-right:.4rem;vertical-align:middle;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ========== Responsive ========== */
@media(max-width:768px){
    .password-gate{top:44px;height:calc(100vh - 44px);}
    .bidreview-toolbar__inner{flex-direction:column;align-items:flex-start;}
    .bidreview-hero h1{font-size:1.5rem;}
    .upload-card{padding:1.2rem;}
    .model-bar-inner{flex-wrap:wrap;}
    .model-bar-group{flex-basis:100%;flex-wrap:wrap;}
    .model-select-wrap{max-width:100%;}
    .compare-readiness{flex-direction:column;align-items:center;gap:.8rem;}
    .report-card{padding:1.5rem;}
}

@media print{
    .site-nav,.site-mobile-nav,.password-gate,.bidreview-toolbar,.bidreview-hero,.doc-section,.compare-section .compare-header,.compare-section .compare-readiness,.compare-section .compare-action-bar,.compare-pipeline,.report-actions,.footer{display:none!important;}
    .report-section{display:block!important;padding:0;}
    .report-card{border:none;padding:0;background:#fff;color:#000;}
    .report-card h2{color:#333;border-bottom-color:#ccc;}
    .report-card h3{color:#222;}
    .report-card table th{background:#eee;color:#333;border-color:#ccc;}
    .report-card table td{border-color:#ddd;color:#000;}
}
