:root{
  /* ============================================================
     CLASSIC BLUE-AND-WHITE THEME (old-version navy)
     ============================================================ */
  --bg:#eef1f5;
  --sidebar-top:#1e5488;
  --sidebar-bottom:#123a5f;
  --sidebar-bg:#173f66;
  --topbar-bg:#173f66;
  --panel:#ffffff;
  --panel-hover:#f6f8fb;
  --panel-2:#ffffff;
  --panel-3:#eef2f7;
  --stripe:rgba(27,74,122,.045);
  --border:#d4dce6;
  --border-strong:#b3c1d1;

  --red:#173f66;
  --red-hover:#0f2d4a;
  --red-dim:rgba(27,74,122,.08);
  --red-glow:rgba(27,74,122,.22);

  --teal:#173f66;
  --teal-dim:rgba(27,74,122,.10);
  --amber:#f0a500;
  --amber-dim:rgba(240,165,0,.16);
  --green:#28a745;
  --green-dim:rgba(40,167,69,.10);

  --danger:#d9534f;
  --danger-hover:#c9302c;
  --danger-dim:rgba(217,83,79,.10);

  --text:#2b3a4a;
  --muted:#7789a0;
  --muted-strong:#5a6b80;

  --navy:#173f66;
  --navy-dark:#0f2d4a;
  --navy-light:#1e5488;
  --yellow:var(--amber);
}
*{box-sizing:border-box;}
html, body{margin:0;overflow-x:hidden;max-width:100%;}
body{font-family:'Segoe UI','Helvetica Neue',Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;}
a{color:var(--navy);text-decoration:none;}
a:hover{color:#1d4a73;}

.topbar{background:var(--topbar-bg);color:#fff;padding:14px 24px;display:flex;justify-content:space-between;align-items:center;font-size:17px;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-bottom:3px solid #1a4870;}
.topbar .user{font-size:14px;font-weight:400;display:flex;align-items:center;gap:14px;text-transform:none;letter-spacing:normal;color:rgba(255,255,255,.9);}
.topbar .user a{color:#ffc14d;font-weight:700;}
.topbar .user a:hover{color:#ffd98a;}
#sidebarToggle{background:transparent !important;border:1px solid rgba(255,255,255,.35) !important;color:#fff !important;transition:all .15s;}
#sidebarToggle:hover{background:rgba(255,255,255,.12) !important;border-color:#fff !important;}

.layout{display:flex;min-height:calc(100vh - 58px);width:100%;max-width:100%;}

.sidebar{width:230px;background:linear-gradient(180deg, var(--sidebar-top) 0%, var(--sidebar-bottom) 100%);color:rgba(255,255,255,.9);flex-shrink:0;padding-bottom:30px;overflow:hidden;white-space:nowrap;transition:width .2s ease, padding .2s ease;}
.sidebar.collapsed{width:0;padding-bottom:0;}
.sidebar .brand{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 18px 18px;font-size:16px;font-weight:700;color:#fff;border-bottom:1px solid rgba(255,255,255,.15);}
.sidebar .brand img{width:74px;height:74px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.6);background:#fff;}
.sidebar nav a{display:flex;align-items:center;gap:10px;padding:13px 20px 13px 24px;color:rgba(255,255,255,.92);border-left:4px solid transparent;font-size:13.5px;transition:all .15s;position:relative;}
.sidebar nav a:hover{background:rgba(255,255,255,.12);color:#fff;border-left-color:#ffc14d;}
.sidebar nav a.active{background:rgba(255,255,255,.18);color:#fff;border-left-color:#ffc14d;font-weight:700;}

main{flex:1;min-width:0;max-width:100%;padding:24px 28px 60px;overflow-x:hidden;background:var(--bg);}

.panel-title{background:var(--navy);color:#fff;text-align:center;padding:14px 22px;font-size:17px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin:0 0 20px;border-radius:4px;box-shadow:0 1px 4px rgba(34,89,140,.25);}
.panel-title::after{display:none;}

.card{background:var(--panel);border:1px solid var(--border);margin-bottom:20px;max-width:100%;overflow:hidden;border-radius:5px;box-shadow:0 1px 3px rgba(34,89,140,.08);}

.alert-red{color:var(--danger);font-weight:700;font-size:15px;margin:20px 0 10px;letter-spacing:.5px;text-transform:uppercase;}
.note-red{color:#b02a37;font-size:13.5px;}

table{width:100%;border-collapse:collapse;background:var(--panel);color:var(--text);font-size:13.5px;}
table.light{background:var(--panel);color:var(--text);}
table th, table.light th{background:#123a5f;text-align:left;padding:12px;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#fff;border:1px solid #163f66;white-space:nowrap;}
table td, table.light td{padding:11px 12px;border:1px solid var(--border);color:var(--text);}
table tbody tr:nth-child(even) td{background:var(--stripe);}
table tbody tr:hover td{background:rgba(34,89,140,.08);}
.table-wrap{overflow:auto;max-height:520px;max-width:100%;border:1px solid var(--border);border-radius:5px;background:var(--panel);box-shadow:0 1px 3px rgba(34,89,140,.08);}
.table-wrap::-webkit-scrollbar{width:10px;height:10px;}
.table-wrap::-webkit-scrollbar-track{background:var(--panel-3);}
.table-wrap::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px;}
.table-wrap::-webkit-scrollbar-thumb:hover{background:var(--navy);}

form.form-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:16px 20px;padding:24px;max-width:100%;}
form.form-grid.cols4{grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));}
form.form-grid.cols3{grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));}
.field label{display:block;font-size:12px;margin-bottom:6px;color:var(--muted-strong);font-weight:600;}
.field input, .field select, .field textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:4px;font-size:14px;background:#fff;color:var(--text);font-family:inherit;transition:border-color .15s, box-shadow .15s;}
.field input:focus, .field select:focus, .field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(34,89,140,.15);}
.field input[readonly]{background:var(--panel-3);color:var(--muted-strong);}
.field input::placeholder{color:#9aa4b1;}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path fill='%2322598c' d='M0 0l5 6 5-6z'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;}
.field select option{background:#fff;color:var(--text);}
.form-actions{grid-column:1/-1;text-align:center;padding-top:6px;}
input[type="date"], input[type="month"]{color-scheme:light;}

.btn{display:inline-block;padding:10px 22px;border:1px solid var(--border);background:#f7f9fb;color:var(--text);border-radius:4px;cursor:pointer;font-size:13.5px;font-weight:600;font-family:inherit;text-decoration:none;transition:all .15s;}
.btn:hover{background:#eef2f7;border-color:var(--border-strong);}
.btn-primary{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:700;}
.btn-primary:hover{background:var(--navy-dark);border-color:var(--navy-dark);}
.btn-teal{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:700;}
.btn-teal:hover{background:var(--navy-dark);border-color:var(--navy-dark);}
.btn-select{background:var(--navy);color:#fff;border:none;padding:6px 14px;border-radius:3px;cursor:pointer;font-weight:700;font-size:12.5px;text-decoration:none;display:inline-block;}
.btn-select:hover{background:var(--navy-dark);}
.btn-delete{background:transparent;color:var(--danger);border:1px solid var(--danger);padding:6px 16px;border-radius:3px;cursor:pointer;font-weight:700;font-size:12.5px;text-decoration:none;display:inline-block;transition:all .15s;}
.btn-delete:hover{background:var(--danger);color:#fff;}
.btn-danger{background:var(--danger);color:#fff;border:none;padding:6px 14px;border-radius:3px;cursor:pointer;font-weight:700;text-decoration:none;display:inline-block;margin-left:6px;}
.btn-danger:hover{background:var(--danger-hover);}

.master-box{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--navy);padding:20px;display:flex;gap:16px;align-items:center;margin-bottom:20px;border-radius:5px;box-shadow:0 1px 3px rgba(34,89,140,.08);}
.master-box label{font-weight:700;color:var(--navy);white-space:nowrap;text-transform:uppercase;font-size:12px;}
.master-box .field-wrap{flex:1;display:flex;align-items:center;background:#fff;border:1px solid var(--border);border-radius:4px;padding:0 10px;transition:border-color .15s;}
.master-box .field-wrap:focus-within{border-color:var(--navy);}
.master-box input{flex:1;border:none;padding:10px 6px;font-size:14px;outline:none;background:transparent;color:var(--text);font-family:inherit;}
.master-box .clear{color:var(--danger);cursor:pointer;font-weight:700;font-size:16px;background:none;border:none;}

.filters{display:flex;gap:14px;align-items:flex-end;padding:22px;flex-wrap:wrap;}
.filters .field{min-width:160px;}

footer{text-align:center;padding:20px;color:var(--muted);font-size:12px;border-top:1px solid var(--border);margin-top:30px;}

.login-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,#eef3fa 0%, #d3e0ee 100%);padding:20px;border-bottom:8px solid var(--navy);}
.login-box{background:var(--panel);padding:40px 32px;border-radius:8px;width:100%;max-width:380px;border:1px solid var(--border);box-shadow:0 10px 40px rgba(34,89,140,.18);}
.login-box h1{font-size:16px;text-align:center;color:var(--navy);margin:0 0 24px;letter-spacing:1.2px;text-transform:uppercase;font-weight:800;}
.login-box .field{margin-bottom:16px;}
.login-box .btn{width:100%;padding:13px;}

.error-msg{background:var(--danger-dim);border:1px solid var(--danger);color:#a71c2a;padding:11px 14px;border-radius:4px;margin-bottom:16px;font-size:13.5px;}

.link-cell a{color:var(--navy);font-weight:600;}
.link-cell a:hover{color:#1d4a73;}

@media print{
  body{background:#fff;color:#000;}
  .sidebar, .topbar, .no-print, footer{display:none !important;}
  main{padding:0;background:#fff;}
  .card{background:#fff;border:1px solid #ccc;box-shadow:none;}
  .panel-title{background:#fff;color:#000;border:1px solid #000;box-shadow:none;}
  table, table td, table th, table.light td, table.light th{background:#fff !important;color:#000 !important;border-color:#ccc !important;}
  table th{border-bottom:2px solid #000 !important;}
  table tbody tr:nth-child(even) td, table tbody tr:hover td{background:#fff !important;color:#000 !important;}
  .alert-red{color:#000;}
}

.sidebar-contact{display:flex;align-items:center;gap:10px;margin:12px 14px 6px;padding:10px 12px;background:rgba(37,211,102,.15);border:1px solid rgba(37,211,102,.5);border-radius:8px;text-decoration:none;transition:background .15s;}
.sidebar-contact:hover{background:rgba(37,211,102,.28);}
.sidebar-contact .sc-icon{font-size:20px;line-height:1;}
.sidebar-contact .sc-text{display:flex;flex-direction:column;line-height:1.3;}
.sidebar-contact .sc-label{color:rgba(255,255,255,.85);font-size:11px;}
.sidebar-contact .sc-num{color:#7dffb0;font-size:14px;font-weight:800;letter-spacing:.3px;}

.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;padding:13px 20px 13px 24px;color:rgba(255,255,255,.92);font-size:13.5px;cursor:pointer;border-left:4px solid transparent;}
.nav-group-toggle:hover{background:rgba(255,255,255,.12);color:#fff;border-left-color:#ffc14d;}
.nav-group-toggle .caret{transition:transform .2s;font-size:11px;}
.nav-group.open .nav-group-toggle .caret{transform:rotate(180deg);}
.nav-group-items{max-height:0;overflow:hidden;transition:max-height .25s ease;background:rgba(0,0,0,.12);}
.nav-group.open .nav-group-items{max-height:400px;}
.nav-group-items a{padding-left:40px !important;font-size:13px;}