*{
box-sizing:border-box;
font-family:Segoe UI,Arial;
}


body{
     background: linear-gradient(135deg,#667eea,#764ba2);
    min-height:100vh;
    font-family: 'Segoe UI', sans-serif;
}


/* NAVBAR */
.navbar{
    box-shadow:0 4px 15px rgba(0,0,0,.3);
}

/* Navbar brand */
.navbar .navbar-brand{
    font-weight:600;
    font-size:1.25rem;
    color:#fff;
}

.navbar .navbar-brand:hover{
    color:#f0f0f0;
}

/* Navbar buttons */
.navbar .btn{
    border-radius:12px;
    padding:8px 16px;
    font-weight:600;
}

/* Dropdown menu */
.navbar .dropdown-menu{
    border-radius:12px;
}
#pdfToolsDropdown{
  display:inline-flex;
  align-items:center;
  margin-top: -17px;
}

#pdfToolsDropdown .btn{
  display:flex;
  align-items:center;
}

.navbar .dropdown-item:hover{
    background:#f1f1f1;
}
.navbar .d-flex{
    flex-wrap: wrap;
    gap:10px;
}

@media (max-width:768px){
    .navbar .btn{
        width:100%;
    }
}

/* Responsive */
@media (max-width: 992px){
    .navbar .d-flex{
        flex-wrap:wrap;
        gap:10px;
    }

    .navbar .btn{
        width:100%;
    }
}
/* BUTTONS */
.btn{
    border-radius:12px;
    padding:10px 18px;
    font-weight:600;
}

.btn-primary{
    background:linear-gradient(135deg,#4facfe,#00f2fe);
    border:none;
}

.btn-secondary{
    background:linear-gradient(135deg,#43e97b,#38f9d7);
    border:none;
    color:#000;
}
.app{
  margin:90px auto 30px;
  background:white;
  padding:28px;
  border-radius:14px;

  width:95%;
  max-width:420px;

  box-shadow:0 12px 30px rgba(0,0,0,.15);
  text-align:center;
}


.upload{
border:2px dashed #4a6cff;
padding:35px;
border-radius:8px;
cursor:pointer;
color:#4a6cff;
font-weight:600;
position:relative;
}

.upload input{
opacity:0;
position:absolute;
inset:0;
cursor:pointer;
}

#preview{
max-width:100%;
margin:20px 0;
border-radius:8px;
display:none;
}

.grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:15px;
margin-top:15px;
}

input,select,button{
  font-size:16px;
}

@media (max-width:768px){
  .navbar .btn{
    padding:8px 12px;
    font-size:14px;
  }

  h1{
    font-size:22px;
  }

  .upload{
    padding:25px;
  }
}

@media (max-width:480px){
  h1{
    font-size:20px;
  }

  .app{
    padding:20px;
  }
}


input,select{
width:100%;
padding:10px;
border-radius:6px;
border:1px solid #ccc;
margin-top:6px;
}

button{
margin-top:20px;
background:#4caf50;
color:white;
border:none;
padding:14px;
width:100%;
border-radius:6px;
font-size:16px;
cursor:pointer;
}

button:hover{background:#43a047;}

.loader{
width:100%;
height:10px;
background:#e0e5f1;
border-radius:20px;
overflow:hidden;
margin-top:15px;
display:none;
}

.loader{
  width:100%;
  height:10px;
  background:#e0e5f1;
  border-radius:20px;
  overflow:hidden;
  margin-top:15px;
  display:none;
  position: relative;  /* needed for absolute % positioning */
}

.bar{
height:100%;
width:0%;
background:linear-gradient(90deg,#4a6cff,#00c6ff);
transition:width .2s;
}


#result{margin-top:12px;}

@media(max-width:600px){
.grid{grid-template-columns:1fr;}
}


.dropdown-menu{
  margin-top:6px;
  transition:all .2s ease;
}

.dropdown:hover .dropdown-menu{
  display:block;
}
/* Hover open dropdown */
.dropdown:hover .dropdown-menu{
  display:block;
  margin-top:6px;
}

/* MOBILE NAV FIX WITHOUT CHANGING STRUCTURE */

@media (max-width: 992px){

    .navbar .container{
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .navbar .d-flex{
        width: 100%;
        flex-direction: column;
        gap: 8px;
        margin-top: 10px;
    }

    .navbar .btn,
    .navbar .dropdown{
        width: 100%;
    }

    .navbar .dropdown-menu{
        width: 100%;
    }
}

/* =====================================
   UNIVERSAL RESPONSIVE FIX (SAFE)
   No HTML Changes Required
   ===================================== */

/* Prevent horizontal scroll */
html, body{
    overflow-x: hidden;
}

/* App auto scaling */
.app{
    width: 95%;
    max-width: 420px;
}

/* Heading responsive */
.app h1{
    font-size: clamp(20px, 5vw, 28px);
}

/* Grid auto responsive improvement */
.grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

/* Tablet */
@media (max-width: 768px){

    .app{
        margin: 80px 15px 30px;
        padding: 22px;
    }

    .grid{
        grid-template-columns: 1fr;
    }

    button{
        font-size: 15px;
        padding: 12px;
    }

    input, select{
        font-size: 14px;
    }
}

/* Small Mobile */
@media (max-width: 480px){

    .app{
        padding: 18px;
        border-radius: 12px;
    }

    .upload{
        padding: 20px;
        font-size: 14px;
    }

    #preview{
        margin: 15px 0;
    }

    button{
        padding: 11px;
        font-size: 14px;
    }

}