﻿/* ==========================================================================
BANKPDFS - Ordered + Desktop-safe + One-line rules
========================================================================== */

/* ============================= Tokens ============================= */
:root{--black:#0b1220;--white:#ffffff;--primary:#0f5132;--primary-2:#146c43;--secondary:#0b1220;--accent:#198754;--warning:#b54708;--bg:#f6f8f7;--surface:#ffffff;--border:#dde5e1;--text:#0b1220;--text-light:#334155;--text-muted:#64748b;--shadow:0 18px 45px rgba(2,6,23,.08);--shadow-sm:0 10px 25px rgba(2,6,23,.06);--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:22px;--font-heading:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;--font-body:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;--transition:all .18s ease;--footer-bg:#0f172a;--footer-text:#e5e7eb;--footer-muted:#9ca3af;--footer-border:#1f2937;}

/* ============================= Reset / Base ============================= */
*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
html{scroll-behavior:smooth;}
body{background:#f8f9fa;color:#212529;font-family:var(--font-body);line-height:1.6;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button,input,select{font:inherit;}
.container{max-width:1180px;margin:0 auto;padding:0 18px;}

/* ============================= Typography ============================= */
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text);line-height:1.15;}
h1{font-size:44px;letter-spacing:-.02em;}
h2{font-size:32px;letter-spacing:-.02em;}
.text-large{font-size:18px;color:var(--text-light);}
.text-small{font-size:13px;color:var(--text-muted);}

/* ============================= Buttons / Inputs ============================= */
.btn {display: inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:12px;border:1px solid var(--border);cursor:pointer;transition:var(--transition);font-size:14px;font-weight:600;letter-spacing:.3px;}
.btn-icon{display:inline-flex;align-items:center;justify-content:center;}
.btn-primary{background:var(--primary);color:#fff;border-color:transparent;box-shadow:var(--shadow-sm);}
.btn-primary:hover{transform:translateY(-1px);background:var(--primary-2);}
.btn-secondary{background:var(--secondary);color:#fff;border-color:transparent;box-shadow:var(--shadow-sm);}
.btn-secondary:hover{transform:translateY(-1px);opacity:.95;}
.btn-outline{background:#fff;color:var(--text);box-shadow:var(--shadow-sm);}
.btn-outline:hover{transform:translateY(-1px);background:#f3f6f5;}
.btn-accent{background:var(--accent);color:#fff;border-color:transparent;box-shadow:var(--shadow-sm);}
.btn-accent:hover{transform:translateY(-1px);filter:brightness(.98);}
.btn-disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important;}
.upload-inner-btn{margin-top:14px;width:240px;}
.header-btn{padding:8px 14px;font-size:14px;font-weight: 900;border-radius:10px;}
.select{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow-sm);}


/* ============================= Navbar ============================= */
.navbar{display:flex;align-items:center;justify-content:space-between;gap:18px; padding-top:.02rem;padding-bottom:.02rem;}
.logo{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.6px;}
.logo-icon{width:40px;height:40px;border-radius:12px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:var(--shadow-sm);font-weight:900;}
.nav-links{display:flex;align-items:center;gap:18px;}
.nav-link{font-size: 14px;font-weight: 900;color:var(--text-muted);padding:8px 10px;border-radius: 10px;letter-spacing: 0.2px;transition: var(--transition);}
.nav-link:hover {background: #eef4f1;color:var(--text);}
.nav-link.active{background:#e7f3ec;color:var(--primary);}

/* Hide checkbox */
.nav-toggle {position: absolute;opacity: 0;pointer-events: none;}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:10px;}
.nav-toggle span{width:22px;height:2px;background:#0b1220;border-radius:2px;transition:.2s;}

/* Mobile burger button (hidden on desktop) */
.nav-burger {display: none;align-items: center;gap:10px;cursor:pointer;user-select: none;padding: 10px 12px;border-radius: 12px;background: #fff; transition: transform .12s ease;}
.nav-burger:active {transform: translate(1px,1px);box-shadow: 3px 3px 0px #000;}
.burger-text { font-family: 'Inter','Space Grotesk',system-ui,-apple-system,sans-serif;font-weight:800; letter-spacing: .5px;font-size: .95rem;}
.burger-lines {width: 22px;height: 16px;position: relative;display: inline-block;}
.burger-lines::before,
.burger-lines::after {content: "";position: absolute;left: 0;width: 100%;height: 2px;background: #000;border-radius: 2px;transition: transform .18s ease, top .18s ease, opacity .18s ease;}
.burger-lines::before {top:2px;}
.burger-lines::after {top:12px;}
.burger-lines {background: linear-gradient(#000,#000) center/100% 2px no-repeat;}

/* ============================= Logo ============================= */
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo img{height:38px;width:auto;display:block;}
.logo-text{display:flex;align-items:baseline;font-family:'Inter','Space Grotesk',system-ui,-apple-system,sans-serif;font-weight:700;letter-spacing:-.5px;line-height:1;}
.logo-bank{color:#1f3b63;font-size:1.45rem;}
.logo-pdfs{color:#2fa44f;font-size:1.45rem;margin-left:2px;}
.logo-dot{color:#888;font-size:.9rem;margin-left:2px;font-weight:600;}

/* ============================= Hero Layout ============================= */
.hero{display:grid;grid-template-columns:0.9fr 1.1fr;gap:38px;align-items:start;padding:18px 0 18px;}
.hero-left{padding-right:24px;}
.hero-right{min-width:0;}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px;}
.card-accent{border-color:#cfe7db;}
.floating{transform:translateZ(0);}

/* ===== Access Cards Strip ===== */

.access-cards{
    margin:28px 0 18px 0;
}

.access-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
}

.access-card{
    border:1px solid var(--border);
    border-radius:12px;
    padding:18px 16px;
    background:#fff;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:90px;
}

.access-title{
    font-size:14px;
    font-weight:700;
    margin-bottom:4px;
}

.access-value{
    font-size:15px;
    color:var(--text-muted);
}

.access-card-cta{
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:8px;
}

.access-link{
    font-size:13px;
    color:var(--text-muted);
    text-decoration:none;
}

.access-link:hover{
    text-decoration:underline;
}

@media(max-width:900px){
    .access-grid{
        grid-template-columns:1fr;
    }
}


/* ============================= Badges / Chips ============================= */
.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-weight:900;font-size:12px;letter-spacing:.5px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow-sm);}
.badge-primary{background:#e7f3ec;border-color:#cfe7db;color:var(--primary);}
.trust-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.trust-chips {display: none;}
.chip{display:inline-flex;align-items:center;gap:8px;padding:6px 8px;margin:2px;border-radius:999px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow-sm);font-weight:800;font-size:12px;color:var(--text);}
.chip em{font-style:normal;color:var(--text-muted);font-weight:800;}
.chip-free{background:#e7f3ec;border-color:#cfe7db;}

/* ============================= Stats ============================= */
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px;}
.stat-item{border:1px solid var(--border);border-radius:16px;padding:14px;background:#fff;box-shadow:var(--shadow-sm);}
.stat-number{font-weight:900;color:var(--primary);font-size:16px;}
.stat-label{font-size:12px;color:var(--text-muted);margin-top:6px;}

/* ============================= Animations ============================= */
@keyframes shake{0%,100%{transform:translateX(0);}20%{transform:translateX(-6px);}40%{transform:translateX(6px);}60%{transform:translateX(-4px);}80%{transform:translateX(4px);}}
.btn-shake{animation:shake .45s ease-in-out;}

/* ============================= Documents Shell ============================= */
body.app-shell main{padding:0;}
body.app-shell .container{max-width:1400px;}

/* ============================= Documents Header ============================= */
.appbar{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid rgba(15,23,42,.12);}
.appbar-inner{max-width:1400px;margin:0 auto;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;}

/* Brand */
.appbrand{display:flex;align-items:center;gap:10px;min-width:0;color:var(--text);text-decoration:none;}
.appbrand-mark{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(15,23,42,.18);border-radius:12px;font-weight:900;color:var(--primary);background:#fff;}
.appbrand-text{font-weight:950;letter-spacing:.02em;white-space:nowrap;}

/* Links */
.appbar-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.app-link{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;border:1px solid transparent;text-decoration:none;color:var(--text);font-weight:900;font-size:13px;}
.app-link:hover{background:rgba(15,81,50,.06);border-color:rgba(15,81,50,.14);}
.app-link.active{background:rgba(15,81,50,.10);border-color:rgba(15,81,50,.18);}

/* Right side */
.appbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.app-pill{padding:6px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.16);background:#fff;font-size:12px;font-weight:900;color:var(--text);}
.app-btn{padding:8px 12px;border-radius:12px;border:1px solid rgba(15,23,42,.18);background:#fff;font-weight:950;cursor:pointer;}
.app-btn:hover{background:rgba(15,23,42,.04);}

/* ============================= Responsive ============================= */
@media (max-width:900px){
  .appbar-inner{flex-wrap:wrap;}
  .appbar-links{width:100%;justify-content:flex-start;}
  .appbar-right{width:100%;justify-content:flex-start;}
}

/* ============================= Upload Zone ============================= */
.upload-zone{border:2px dashed #cfe7db;border-radius:22px;min-height:330px;padding:34px 22px;text-align:center;background:linear-gradient(180deg,#ffffff 0%,#f7fbf8 100%);cursor:pointer;transition:var(--transition);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;}
.upload-zone:hover{transform:translateY(-2px);border-color:#9fd0b8;box-shadow:0 14px 34px rgba(15,81,50,.10);}
.upload-zone.drag-over{background:#edf7f1;border-color:#78c59f;box-shadow:0 16px 38px rgba(15,81,50,.12);transform:translateY(-2px);}
.upload-zone.upload-locked{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none;}
.upload-icon{font-size:42px;margin-bottom:2px;line-height:1;}
.upload-text{font-weight:950;letter-spacing:.12em;font-size:14px;text-transform:uppercase;color:var(--text);}
.upload-subtext{margin-top:2px;font-size:13px;color:var(--text-muted);max-width:320px;line-height:1.35;}
.controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}
@media (max-width:768px){.upload-zone{min-height:220px;padding:26px 16px;border-radius:20px;}.controls{grid-template-columns:1fr;}}
.pill{font-size:.85rem;border:1px solid rgba(0,0,0,.12);border-radius:999px;padding:.2rem .55rem;background:rgba(0,0,0,.18);}
/* Upload CTA enrichment */
.upload-hint{opacity:.85;}
.upload-inner-btn{width:260px;}
.upload-footnote{margin-top:10px;font-size:12px;color:var(--text-muted);line-height:1.35;}
.upload-footnote strong{color:var(--primary);}

/* Make dropzone feel more clickable but still conservative */
.upload-zone{border-color:#9fd0b8;}
.upload-zone:focus{outline:none;box-shadow:0 0 0 4px rgba(25,135,84,.18);}
.upload-zone:hover .upload-text{color:var(--primary);}

/* ============================= Queue (GLOBAL) ============================= */
.queue{margin-top:14px;display:flex;flex-direction:column;gap:10px;max-height:360px;overflow:auto;padding-right:4px;padding-bottom: 14px;}
.queue-row{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:#fff;}
.queue-left{display:flex;gap:10px;align-items:center;flex:1;min-width:0;}
.queue-badge{width:34px;height:34px;border-radius:10px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);flex:0 0 auto;}
.queue-meta{min-width:0;}
.queue-name{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px;}
.queue-sub{font-size:12px;opacity:.8;margin-top:2px;}
.queue-right{display:flex;gap:8px;align-items:center;flex:0 0 auto;white-space:nowrap;}
.queue-status{font-size:12px;min-width:100px;text-align:right;opacity:.85;}
.queue-btn{padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm);cursor:pointer;font-weight:900;font-size:12px;}
.queue-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;}
.queue-remove{border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm);cursor:pointer;padding:8px 10px;font-weight:900;line-height:1;}
.queue-actions{margin-top:14px;display:flex;flex-direction:column;gap:10px;}
.queue-meta{min-width:0;flex:1;}
.queue-name{font-size:13px;}
.queue-sub{font-size:11px;}
.queue-status{font-size:11px;}
.queue-btn{font-size:11px;padding:6px 8px;}
.queue {margin-top: 18px;padding-top: 14px;}


/* ============================= Modal / PDF Preview (GLOBAL) ============================= */
.pdf-modal {position: fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100dvh;height:100vh;display:none;z-index:9999;}
.pdf-modal[aria-hidden="false"]{display:block;}
.pdf-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);z-index:0;}
.pdf-modal-card{position:relative;z-index:1;width:100vw;height:100vh;max-width:none;margin:0;background:#fff;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;overflow:hidden;}
.pdf-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);background:#fff;}
.pdf-modal-title{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70vw;}
.pdf-modal-close{border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm);cursor:pointer;padding:2px 8px;}
.pdf-modal-body{flex:1;padding:0;}
.pdf-modal-body iframe{width:100%;height:100%;border:0;background:#111;}
body.pdf-modal-open{overflow:hidden;}

/* ============================= How It Works / Features ============================= */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;}
.feature-card{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm);padding:18px;}
.feature-icon{font-size:28px;}
.feature-title{margin-top:10px;font-weight:700;letter-spacing:.6px;}
.feature-desc{margin-top:8px;color:var(--text-muted);font-size:14px;}

/* ============================= FAQ ============================= */
.faq-section{margin-top:44px;padding:18px 0 42px;}
.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm);padding:14px;transition:var(--transition);}
.faq-item:hover{transform:translateY(-1px);}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:0;padding:0;cursor:pointer;font-weight:900;text-align:left;}
.faq-toggle{font-weight:900;font-size:18px;transition:transform .2s ease;}
.faq-answer{display:block;max-height:0;overflow:hidden;transition:max-height .3s ease,opacity .2s ease;opacity:0;margin-top:10px;color:var(--text-muted);font-size:14px;}
.faq-item.open .faq-answer{max-height:300px;opacity:1;}
.faq-item.open .faq-toggle{transform:rotate(45deg);}
/* ============================= Footer ============================= */
.site-footer{margin-top:56px;background:var(--footer-bg);color:var(--footer-text);border-top:1px solid var(--footer-border);}
.site-footer a{color:var(--footer-text);opacity:.92;}
.site-footer a:hover{opacity:1;text-decoration:underline;}
.site-footer .footer-inner{max-width:1180px;margin:0 auto;padding:26px 18px;display:flex;flex-direction:column;gap:14px;}
.site-footer .footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.site-footer .footer-brand{display:flex;flex-direction:column;gap:6px;}
.site-footer .footer-logo{font-weight:900;letter-spacing:.7px;}
.site-footer .footer-disclaimer{color:var(--footer-muted);font-size:13px;max-width:720px;}
.site-footer .footer-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.site-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--footer-border);padding-top:14px;color:var(--footer-muted);font-size:12px;}
.site-footer .footer-contact{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.site-footer .footer-sep{opacity:.4;}

.excel-bg{position:relative;overflow:hidden;}
.excel-bg::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,rgba(15,81,50,.08) 1px,transparent 1px),linear-gradient(to bottom,rgba(15,81,50,.08) 1px,transparent 1px);background-size:56px 56px;opacity:.55;mask-image:radial-gradient(800px 500px at 75% 55%,#000 0%,rgba(0,0,0,.55) 55%,transparent 78%);}
.excel-bg > *{position:relative;z-index:1;}

/* ============================= Settings ============================= */
.settings-container{margin-top:40px;margin-bottom:60px;}
.settings-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:18px;
    box-shadow:var(--shadow-sm);
    padding:28px;
    max-width:820px;
    margin:0 auto;
}

.settings-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:28px;
    gap:16px;
    flex-wrap:wrap;
}

.settings-section{
    margin-top:30px;
    padding-top:20px;
    border-top:1px solid var(--border);
}

.settings-section:first-of-type{
    border-top:none;
    padding-top:0;
}

.settings-section h3{
    font-size:18px;
    margin-bottom:12px;
}

.settings-row{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.input{
    flex:1;
    padding:12px 14px;
    border-radius:12px;
    border:1px solid var(--border);
    background:#fff;
    box-shadow:var(--shadow-sm);
    font-size:14px;
}

.muted{
    color:var(--text-muted);
    font-size:14px;
    margin-bottom:12px;
}

.small-link{
    margin-top:10px;
    font-size:13px;
}

.small-link a{
    color:var(--primary);
}


/* ============================= Animations ============================= */
@keyframes shake{0%,100%{transform:translateX(0);}10%,30%,50%,70%,90%{transform:translateX(-5px);}20%,40%,60%,80%{transform:translateX(5px);}}
.shake{animation:shake .5s ease-in-out;}

/* ============================= Responsive ============================= */
@media (max-width:1100px){.pricing-cards{grid-template-columns:repeat(2,1fr);}h1{font-size:40px;}}
@media (max-width:900px){.hero{grid-template-columns:1fr;gap:18px;}.hero-left{padding-right:0;border-right:none;}.hero-right{position:static;}.stats-grid{grid-template-columns:1fr;}.features{grid-template-columns:1fr;}.faq-grid{grid-template-columns:1fr;}.queue-name{max-width:240px;}.modal-card{width:94vw;height:88vh;}}
@media (max-width:768px){.navbar{flex-wrap:wrap;}.nav-links{width:100%;justify-content:flex-start;flex-wrap:wrap;}.controls{grid-template-columns:1fr;}.queue{max-height:none;}.queue-row{flex-direction:column;align-items:flex-start;}.queue-right{width:100%;justify-content:space-between;white-space:normal;}.queue-status{min-width:0;text-align:left;}}

/* ============================= Footer mobile tweaks (closed correctly) ============================= */
@media (max-width:768px){
.site-footer .text-md-end{text-align:left!important;}
.site-footer .footer-disclaimer{max-width:none;}
.site-footer .footer-contact{display:flex;flex-wrap:wrap;gap:.35rem .5rem;}
.site-footer .footer-sep{display:none;}
.nav-toggle{display:flex;}
/*.nav-links{position:absolute;top:72px;left:0;right:0;background:#fff;border-top:1px solid var(--border);box-shadow:var(--shadow);padding:14px;flex-direction:column;gap:10px;display:none;}*/
.nav-links.open{display:flex;}
.nav-link{width:100%;text-align:left;}
.nav-link {font-size: 16px;font-weight: 600;padding:14px 16px;display: block;}
.nav-burger {display: flex;}
.nav-links {order: 3;flex-basis: 100%; width: 100%;display: none; position: static;left: auto;right: auto;top: auto;margin-top: 14px;padding: 16px;background: #fff;border-radius: 16px;flex-direction: column;align-items: stretch;gap: 14px;}
.nav-toggle:checked ~ .nav-links {display: flex;}
.nav-toggle:checked + .nav-burger .burger-lines {background: none; }
.nav-burger {display: flex;align-items: center;gap: 10px;cursor: pointer;padding: 10px 12px; border-radius: 12px;background: #e7f3ec;}
.burger-icon {width: 22px;height: 16px; display: flex; flex-direction: column;justify-content: space-between; }
.burger-icon span {display: block;height: 2px; width: 100%;background: #000; border-radius: 2px; transition: transform .2s ease, opacity .2s ease;}
.nav-toggle:checked + .nav-burger .burger-icon span:nth-child(1) { transform: translateY(7px) rotate(45deg);}
.nav-toggle:checked + .nav-burger .burger-icon span:nth-child(2) {opacity: 0;}
.nav-toggle:checked + .nav-burger .burger-icon span:nth-child(3) {transform: translateY(-7px) rotate(-45deg);}
.badge-free {display: none;}
.stats-grid {display: none;}
.trust-chips { display:block;}
.hero { align-items: start;padding: 0px 0 0px;}
.controls {flex-direction: column; }
.controls .btn, .controls a {width: 100%; }
}

