/* Minimal fallback styles if Bootstrap CDN is blocked.
   This gives a clean, professional look even without Bootstrap. */

:root{
  --lc-bg:#f3f4f6;
  --lc-card:#ffffff;
  --lc-border:#e5e7eb;
  --lc-text:#111827;
  --lc-muted:#6b7280;
  --lc-success:#16a34a;
  --lc-dark:#111827;
  --lc-primary:#2563eb;
}

html,body{height:100%;}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--lc-bg);color:var(--lc-text);}

a{color:var(--lc-primary);text-decoration:none;}
a:hover{text-decoration:underline;}

.container, .container-fluid{padding-left:16px;padding-right:16px;}
.py-5{padding-top:3rem;padding-bottom:3rem;}
.p-3{padding:1rem;}
.mb-3{margin-bottom:1rem;}
.mb-1{margin-bottom:.25rem;}
.mt-3{margin-top:1rem;}
.gap-2{gap:.5rem;}
.d-flex{display:flex;}
.flex-wrap{flex-wrap:wrap;}
.justify-content-between{justify-content:space-between;}
.align-items-center{align-items:center;}
.align-items-start{align-items:flex-start;}
.d-grid{display:grid;}
.h-100{height:100%;}
.min-vh-100{min-height:100vh;}
.text-muted{color:var(--lc-muted)!important;}
.small{font-size:.875rem;}
.fw-bold{font-weight:700;}
.fw-semibold{font-weight:600;}
.fs-2{font-size:2rem;}
.fs-3{font-size:1.75rem;}
.card{background:var(--lc-card);border:1px solid var(--lc-border);border-radius:12px;}
.card-body{padding:1rem;}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.08);}

.navbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;}
.navbar-dark{color:#fff;}
.bg-success{background:var(--lc-success);}
.bg-dark{background:var(--lc-dark);}
.border-end{border-right:1px solid var(--lc-border);}
.border-bottom{border-bottom:1px solid var(--lc-border);}
.border-top{border-top:1px solid var(--lc-border);}

.list-group{display:block;}
.list-group-item{display:block;padding:.85rem 1rem;border-bottom:1px solid var(--lc-border);color:var(--lc-text);}
.list-group-item:hover{background:#f9fafb;text-decoration:none;}

.table{width:100%;border-collapse:collapse;}
.table th,.table td{padding:.65rem .5rem;border-bottom:1px solid var(--lc-border);text-align:left;vertical-align:middle;}
.table-striped tbody tr:nth-child(odd){background:#fafafa;}
.table-responsive{overflow:auto;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem .8rem;border-radius:10px;border:1px solid transparent;cursor:pointer;font-weight:600;line-height:1.1;}
.btn:hover{text-decoration:none;filter:brightness(.98);}
.btn-sm{padding:.35rem .6rem;border-radius:9px;font-size:.875rem;}
.btn-success{background:var(--lc-success);border-color:var(--lc-success);color:#fff;}
.btn-dark{background:var(--lc-dark);border-color:var(--lc-dark);color:#fff;}
.btn-outline-dark{background:transparent;border-color:var(--lc-dark);color:var(--lc-dark);}
.btn-outline-light{background:transparent;border-color:rgba(255,255,255,.5);color:#fff;}
.btn-outline-primary{background:transparent;border-color:var(--lc-primary);color:var(--lc-primary);}
.btn-outline-secondary{background:transparent;border-color:#9ca3af;color:#374151;}
.btn-outline-danger{background:transparent;border-color:#dc2626;color:#dc2626;}
.w-100{width:100%;}

.alert{padding:.85rem 1rem;border-radius:12px;border:1px solid var(--lc-border);background:#fff;}
.alert-danger{border-color:#fecaca;background:#fff1f2;}
.alert-success{border-color:#bbf7d0;background:#f0fdf4;}
.alert-warning{border-color:#fde68a;background:#fffbeb;}

.form-control,.form-select,textarea{width:100%;padding:.55rem .7rem;border-radius:10px;border:1px solid var(--lc-border);background:#fff;}
.form-label{display:block;margin-bottom:.35rem;font-weight:600;}
.form-text{color:var(--lc-muted);font-size:.8rem;}
.row{display:flex;flex-wrap:wrap;margin-left:-8px;margin-right:-8px;}
.col-12{flex:0 0 auto;width:100%;padding-left:8px;padding-right:8px;}
.col-md-4{flex:0 0 auto;width:33.3333%;padding-left:8px;padding-right:8px;}
.col-md-3{flex:0 0 auto;width:25%;padding-left:8px;padding-right:8px;}
.col-lg-2{flex:0 0 auto;width:16.6667%;padding-left:8px;padding-right:8px;}
.col-lg-10{flex:0 0 auto;width:83.3333%;padding-left:8px;padding-right:8px;}
.col-lg-auto{flex:0 0 auto;width:auto;padding-left:0;padding-right:0;}
.col-lg-7{flex:0 0 auto;width:58.3333%;padding-left:8px;padding-right:8px;}
.col-lg-5{flex:0 0 auto;width:41.6667%;padding-left:8px;padding-right:8px;}

@media (max-width: 991px){
  .col-md-4,.col-md-3,.col-lg-7,.col-lg-5,.col-lg-2,.col-lg-10{width:100%;}
}
