html,body {
    margin:0;
    height: 98%;
    width: 100%;
}

body {
    background-color: #edf0f4 !important;
    /* min-height: 100vh;
    height: 100%; */
}

.redBG {
    background-color: red;
}

.hidden {
    display: none;
}

.inlineBlock {
    display: inline-block;
}

a:link {
    text-decoration: none;
}

table th {
    font-weight:bold;
}

#navigationBar {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    background-color: #313949 !important;
}

#documentList {
    /* width: 100%; */
    background-color: #edf0f4 !important;
}

#userBox {
    width: 70vw;
    padding: 2vh 2vw;
    margin: 5vh auto;
    background-color: #313949;
    border-radius: 5px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.authUser {
    background-color: whitesmoke;
    padding: 1vh 1vw;
    border-radius: 5px;
    margin-right: 1vw;
}

.deleteUserIcon {
    height: 1.5vh;
}

#addUserBox {
    width: 70vw;
    padding: 2vh 2vw;
    margin: 5vh auto;
    background-color: #313949;
    border-radius: 5px;
    /* display: flex;
    justify-content: space-evenly;
    flex-direction: column; */
    text-align: center;
}

#fileUploadBox {
    width: 70vw;
    padding: 2%;
    margin: 5vh auto 1vh auto;
    background-color: #313949;
    border-radius: 5px;
    text-align: center;
    color:white;
}

#radioGroup {
    padding: 1rem;
}

.p-top1 {
    padding-top: 1rem;
}

.p-top2 {
    padding-top: 2rem;
}

.p-top3 {
    padding-top: 3rem;
}

.p-top4 {
    padding-top: 4rem;
}

.p-top-bot-1 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.p-sides-2 {
    padding-left: 2rem;
    padding-right: 2rem;
}

.whiteText {
    color: white;
}

.w-auto {
    width: auto !important;
}

.w-100 {
    width: 100% !important;
}
.w-70 {
    width: 70% !important;
}
.w-30 {
    width: 30% !important;
}
.w-15 {
    width: 15vw;
}
.w-100vw{
    width: 100vw !important;
}

.w-95vw{
    width: 95vw !important;
}

.w-90vw{
    width: 90vw !important;
}


.m-top-1 {
    margin-top: 1vh;
}

.m-right-30 {
    margin-right: 30vw;
}
.m-left-30 {
    margin-left: 30vw;
}

.m-bot-2 {
    margin-bottom: 2vh;
}

.no-style-link {
    text-decoration: none;
    color: white;
}

.f {
    display: flex;
}

.f-space-between {
    justify-content: space-between;
}

.f-align-start {
    align-items: flex-start;
}

.f-item-end {
    align-self: flex-end;
}

.side-space {
    margin: 1rem 0.1vw !important;
}

.m-left-1 {
    margin-left: 1rem;
}

.m-left-auto {
    margin-left: auto;
}

.rounded {
    border-radius: 5px;
}

.fileRow {
    font-size: large;
    width: inherit;
    display: block;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
    margin-bottom: 1vh;
    background-color: white;
}

/* borders */
#docList>span {
    font-size: large;
    width: inherit;
    display: block;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
    margin-bottom: 1vh;
    background-color: white;
}

/* Text Align */
.text-right {
    text-align: right;
}

.text-center {
    text-align: center;
}

#csvTable {
    margin: 2.5% 2.5% 0% 2.5%;
    width: 95%;
    border-collapse: collapse;
}

/* 
#csvTable tr:nth-child(1) {
    font-weight: bold;
    background-color: black !important;
}
*/

#csvTable td:nth-child(1) {
    width:25%;
}

#csvTable td:nth-child(2) {
    width:50%;
}
#csvTable td:nth-child(3) {
    width:25%;
}

.fieldInput {
    color: white;
    background-color: #000000;
}

.center {
    margin-left: auto;
    margin-right: auto;
    width: 50%;
    padding: 15px 0px 15px 0px;
    text-align: center;
  }

/* ============================================================
   Admin UI — DocFlow
   ============================================================ */

/* Page background */
.admin-body {
    background-color: #f1f4f8;
    color: #1e293b;
}

/* Top navbar */
#adminNav {
    background-color: #1e293b !important;
    min-height: 56px;
    z-index: 1030;
}

/* Sidebar */
.admin-sidebar {
    background-color: #fff;
    border-right: 1px solid #e2e8f0;
    position: sticky;
    top: 56px;
    height: calc(100vh - 56px);
    overflow-y: auto;
}

.admin-sidebar .nav-link {
    color: #475569;
    border-radius: 6px;
    padding: 0.55rem 0.75rem;
    font-size: 0.9rem;
    transition: background 0.15s, color 0.15s;
}

.admin-sidebar .nav-link:hover {
    background-color: #f1f5f9;
    color: #0f172a;
}

.admin-sidebar .nav-link.active {
    background-color: #eff6ff;
    color: #2563eb;
    font-weight: 600;
}

/* Main content */
.admin-main {
    background-color: #f1f4f8;
}

/* Cards */
.admin-card {
    background-color: #fff;
    border-radius: 10px;
}

.admin-stat-card {
    border-radius: 10px;
    transition: box-shadow 0.15s;
}

.admin-stat-card:hover {
    box-shadow: 0 4px 14px rgba(0,0,0,.1) !important;
}

/* Tables */
.admin-table {
    font-size: 0.875rem;
}

.admin-table thead th {
    font-weight: 600;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    border-bottom: 2px solid #e2e8f0;
}

.admin-table tbody tr {
    transition: background 0.1s;
}

.admin-table tbody tr:hover {
    background-color: #f8fafc;
}

.admin-table tbody td {
    vertical-align: middle;
    border-color: #f1f5f9;
}

/* Info alerts */
.admin-info-alert {
    background-color: #eff6ff;
    border-radius: 8px;
    color: #1e40af;
}

/* Field reference table */
.admin-ref-table {
    font-size: 0.86rem;
}

.admin-ref-table samp {
    color: #059669;
    font-weight: 600;
}

/* Drag-and-drop zone */
.admin-dropzone {
    border: 2px dashed #cbd5e1;
    background-color: #f8fafc;
    cursor: pointer;
    transition: border-color 0.2s, background-color 0.2s;
}

.admin-dropzone:hover,
.admin-dropzone.drag-over {
    border-color: #2563eb;
    background-color: #eff6ff;
}

/* Sticky table header in mapping page */
#fieldTable thead.sticky-top th {
    position: sticky;
    top: 0;
    z-index: 1;
    background-color: #f8fafc;
}

/* Path builder offcanvas */
#builderPanel .offcanvas-header {
    background-color: #f8fafc;
}

#builderPanel #generatedPath {
    font-size: 0.875rem;
    word-break: break-all;
    min-height: 40px;
}

/* Code / badge styling tweaks */
.admin-body code {
    font-size: 0.82rem;
}

/* Badge subtle variants */
.bg-success-subtle  { background-color: #dcfce7 !important; }
.bg-primary-subtle  { background-color: #dbeafe !important; }
.bg-danger-subtle   { background-color: #fee2e2 !important; }
.bg-warning-subtle  { background-color: #fef9c3 !important; }
.bg-info-subtle     { background-color: #cffafe !important; }
.bg-secondary-subtle { background-color: #f1f5f9 !important; }
