/* Basic responsive styles */
body {font-family: system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Arial, "Noto Sans", sans-serif; margin:0; padding:0; background:#f6f8fb; color:#0f172a;}
header {background:rgba(13, 110, 253, 0.92); color:#fff; padding:10px 15px; display:flex; justify-content:space-between; align-items:center; backdrop-filter: blur(10px); border-bottom: 1px solid rgba(255,255,255,0.15);}
header a, header a:visited, header a:hover {color:#fff !important;}
a {color:#0d6efd; text-decoration:none;}
a:hover{text-decoration:underline;}
.container {padding:20px; max-width:1100px; margin:auto; background:#fff; border-radius:12px; box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);}
.table-responsive {overflow-x:auto;}
.btn.btn-success { background-color:#198754; color:#fff; }
/* bell notification */
#bell {position:relative; cursor:pointer;}
#bell .badge {position:absolute; top:-5px; right:-10px; background:red; color:#fff; border-radius:50%; padding:3px 6px; font-size:12px;}

form label {display:block; margin-top:10px;}
form input, form select, form textarea {width:100%; padding:8px; margin-top:5px; box-sizing:border-box;}
/* Legacy button rule removed to allow Bootstrap defaults. If you need a custom button, add a class like .portal-btn and style it here. */

.card{border: 1px solid rgba(15,23,42,0.08); border-radius: 14px; box-shadow: 0 10px 26px rgba(15,23,42,0.06);}
.card .card-header{border-bottom: 1px solid rgba(15,23,42,0.08);} 

.btn{border-radius: 12px;}
.btn.btn-sm{border-radius: 10px;}
.btn.btn-light{color:#0f172a;}
.btn.btn-outline-light{color:#0f172a;border-color:rgba(15,23,42,0.35);}
.btn.btn-outline-light:hover{background:rgba(15,23,42,0.06);}
.btn-primary{box-shadow: 0 10px 20px rgba(13,110,253,0.18);} 
.btn-success{box-shadow: 0 10px 20px rgba(25,135,84,0.18);} 
.btn-outline-primary:hover{box-shadow: 0 10px 20px rgba(13,110,253,0.12);} 

table.dataTable tbody tr:hover, table.display tbody tr:hover{background:#f1f5ff !important;}

/* Custom Bootstrap tooltip */
.tooltip-inner{background:#0d6efd;color:#fff;font-size:13px;font-weight:600;padding:6px 10px;border:1px solid #fff;border-radius:4px;max-width:240px;}
.bs-tooltip-top .tooltip-arrow::before{border-top-color:#0d6efd;}
.bs-tooltip-bottom .tooltip-arrow::before{border-bottom-color:#0d6efd;}
.bs-tooltip-start .tooltip-arrow::before{border-left-color:#0d6efd;}
.bs-tooltip-end .tooltip-arrow::before{border-right-color:#0d6efd;}

/* Calendar sidebar */
.calendar-card .card-header{background:#0d6efd !important;color:#fff !important;}
.calendar-card .card-header a{color:#fff !important;}

.calendar-card .table{border-collapse:collapse !important;table-layout:fixed;width:100%;}
.calendar-card .table td,.calendar-card .table th{border:0;padding:4px;}
/* left-align day number */
.calendar-card td a{display:block;text-align:left;padding-left:4px;}


.card table {border-collapse:collapse;}
.card table td {padding:6px; font-size:0.85rem;}
.card table td a {display:block; color:#212529; text-decoration:none;}
.card table td a:hover {background:#e2e6ea; border-radius:4px;}
.card table td.today {background:#ffe8a1; border-radius:4px;}
.card-header {font-size:0.9rem;}
.badge {font-size:0.65rem;}

