:root{
  --blue:#1769e0;
  --blue2:#0f54bd;
  --green:#15875c;
  --red:#c43d4b;
  --orange:#ce7a13;
  --purple:#7254c9;
  --bg:#f4f7fb;
  --card:#fff;
  --text:#1d2939;
  --muted:#667085;
  --line:#e4e9f1;
  --nav:#0c2850;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}

.login-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:linear-gradient(145deg,#eef5ff,#f8fbff);
}
.login-card{
  width:min(420px,100%);
  background:#fff;
  padding:34px;
  border-radius:20px;
  box-shadow:0 20px 60px rgba(34,68,120,.15);
}
.login-card h1{margin:16px 0 4px}
.login-card p{margin:0 0 26px;color:var(--muted)}
label{display:block;font-weight:600;margin:14px 0}
input,select,textarea{
  width:100%;
  margin-top:7px;
  border:1px solid #cfd8e6;
  border-radius:10px;
  padding:11px 12px;
  background:#fff;
}
textarea{min-height:90px;resize:vertical}
.brand-mark{
  width:64px;height:64px;border-radius:16px;
  display:grid;place-items:center;
  background:var(--blue);color:#fff;font-weight:800;
}
.brand-mark.small{width:42px;height:42px;border-radius:12px;font-size:13px}

.primary,.success,.danger,.warning,.secondary,.ghost{
  border:0;border-radius:10px;padding:10px 15px;font-weight:700
}
.primary{background:var(--blue);color:#fff}
.success{background:var(--green);color:#fff}
.danger{background:var(--red);color:#fff}
.warning{background:var(--orange);color:#fff}
.secondary{background:#eaf2ff;color:var(--blue2)}
.ghost{background:transparent;color:inherit;border:1px solid var(--line)}
.large{width:100%;padding:13px}
.error{color:var(--red);margin-top:12px;font-size:14px}
.muted{color:var(--muted)}
.small-text{font-size:13px}
.nowrap{white-space:nowrap}

.app{display:flex;min-height:100vh}
.sidebar{
  width:250px;background:var(--nav);color:white;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:18px 14px;position:fixed;inset:0 auto 0 0;z-index:20
}
.brand{display:flex;gap:12px;align-items:center;margin:6px 6px 22px}
.brand strong{display:block;font-size:14px}
.brand span{display:block;font-size:12px;opacity:.72;margin-top:2px}
#nav{display:grid;gap:5px}
.nav-btn{
  display:flex;width:100%;border:0;background:transparent;color:#dce8fa;
  padding:11px 13px;border-radius:10px;text-align:left
}
.nav-btn:hover,.nav-btn.active{background:#173f74;color:#fff}
.sidebar-user{border-top:1px solid rgba(255,255,255,.13);padding:15px 6px}
.sidebar-user strong,.sidebar-user span{display:block}
.sidebar-user span{font-size:12px;opacity:.7;margin:3px 0 10px}
.sidebar-user .ghost{border-color:rgba(255,255,255,.2);color:#fff;width:100%}

.main{margin-left:250px;width:calc(100% - 250px);padding:24px 28px 50px}
.topbar{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:22px
}
.topbar h1{margin:0;font-size:26px}
.topbar p{margin:5px 0 0;color:var(--muted)}
.mobile-menu{display:none}

.cards{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;margin-bottom:20px
}
.stat{
  background:var(--card);padding:18px;border-radius:14px;
  border:1px solid var(--line);box-shadow:0 3px 10px rgba(30,50,80,.04)
}
.stat strong{font-size:26px;display:block;margin:6px 0}
.stat span{color:var(--muted);font-size:13px}
.stat .money{font-size:20px}
.panel{
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:18px;margin-bottom:18px
}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}
.panel h2,.panel h3{margin:0}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:760px}
th,td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}
th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}

.badge{
  display:inline-block;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700
}
.badge.blue{background:#e8f1ff;color:#185dab}
.badge.green{background:#e8f7ef;color:#14704e}
.badge.red{background:#fdecee;color:#aa3442}
.badge.orange{background:#fff3df;color:#995a0a}
.badge.purple{background:#f0ecff;color:#6246b3}
.badge.gray{background:#eef1f5;color:#596273}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.form-actions{display:flex;gap:10px;margin-top:18px}
.alloc-row,.pdc-row{display:grid;grid-template-columns:1fr 170px 46px;gap:8px;align-items:end;margin-bottom:8px}
.pdc-row{grid-template-columns:1fr 1fr 1fr 46px}
.inline{display:flex;gap:8px;align-items:center}
.checkbox{width:auto;margin:0}
.copybox{
  border:1px dashed #b9c8db;background:#f8fbff;padding:12px;border-radius:10px;
  white-space:pre-wrap
}

.assignment-card{
  background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:18px;margin-bottom:14px
}
.assignment-card h3{margin:0 0 8px}
.assignment-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.destination{
  background:#eef6ff;border-left:4px solid var(--blue);padding:12px;border-radius:8px;
  font-weight:800
}
.camera-box{
  margin:15px 0;padding:22px;border:2px dashed #b7c6da;border-radius:14px;
  text-align:center;background:#fafcff
}

.modal{
  position:fixed;inset:0;background:rgba(10,20,35,.52);
  display:grid;place-items:center;padding:20px;z-index:100
}
.modal-card{
  background:#fff;border-radius:16px;padding:22px;width:min(720px,100%);
  max-height:90vh;overflow:auto;position:relative
}
.modal-close{
  position:absolute;right:12px;top:10px;border:0;background:transparent;
  font-size:28px;color:#697386
}
.toast{
  position:fixed;right:20px;bottom:20px;background:#142b46;color:#fff;
  padding:12px 18px;border-radius:10px;z-index:200;box-shadow:0 10px 30px rgba(0,0,0,.2)
}

.owner-only,.admin-only,.depositor-only{display:none}

@media(max-width:900px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .grid2,.grid3{grid-template-columns:1fr}
}

@media(max-width:700px){
  .sidebar{transform:translateX(-100%);transition:.2s;width:250px}
  .sidebar.open{transform:translateX(0)}
  .main{margin-left:0;width:100%;padding:16px}
  .mobile-menu{display:block;border:0;background:#fff;border-radius:9px;padding:9px 12px}
  .cards{grid-template-columns:1fr 1fr;gap:9px}
  .stat{padding:14px}
  .stat strong{font-size:21px}
  .actions>button{flex:1 1 45%}
  .alloc-row{grid-template-columns:1fr 110px 40px}
  .pdc-row{grid-template-columns:1fr 1fr;gap:8px}
  .pdc-row>*:last-child{grid-column:2}
}

body.depositor-mode .sidebar{
  width:100%;height:auto;bottom:auto;position:fixed;
  flex-direction:row;align-items:center;padding:8px 12px
}
body.depositor-mode .brand span,
body.depositor-mode .sidebar-user span,
body.depositor-mode .sidebar-user strong{display:none}
body.depositor-mode .sidebar-user{border:0;padding:0;display:flex}
body.depositor-mode #nav{display:flex;gap:5px}
body.depositor-mode .nav-btn{padding:9px 11px}
body.depositor-mode .main{
  margin-left:0;width:100%;padding:92px 14px 35px;max-width:760px;margin-inline:auto
}
body.depositor-mode .topbar{margin-bottom:14px}
body.depositor-mode .topbar h1{font-size:24px}
body.depositor-mode .mobile-menu{display:none}

@media(max-width:520px){
  body.depositor-mode .brand strong{font-size:12px}
  body.depositor-mode .brand-mark{display:none}
  body.depositor-mode .brand{margin:0}
  body.depositor-mode .nav-btn{font-size:12px;padding:8px}
  body.depositor-mode .sidebar-user .ghost{font-size:12px;padding:8px}
  .cards{grid-template-columns:1fr}
}


/* =========================================================
   OWNER / ADMIN DASHBOARD POLISH
   ========================================================= */

.nav-btn{
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.nav-count{
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#ef4354;
  color:#fff;
  font-size:11px;
  font-weight:800;
}

.priority-strip{
  display:flex;
  align-items:center;
  gap:14px;
  border-radius:15px;
  padding:15px 18px;
  margin-bottom:18px;
  border:1px solid;
}

.priority-alert{
  background:#fff5f1;
  border-color:#ffd1c2;
}

.priority-good{
  background:#edf9f3;
  border-color:#c8ead8;
}

.priority-icon{
  width:40px;
  height:40px;
  border-radius:12px;
  display:grid;
  place-items:center;
  font-size:20px;
  font-weight:900;
  flex:0 0 auto;
}

.priority-alert .priority-icon{
  background:#ffe0d6;
  color:#b53b24;
}

.priority-good .priority-icon{
  background:#d4f0e1;
  color:#15704d;
}

.priority-strip strong{
  display:block;
  font-size:16px;
}

.priority-strip span{
  display:block;
  color:var(--muted);
  font-size:13px;
  margin-top:3px;
}

.priority-main{
  flex:1;
}

.priority-btn{
  border:0;
  background:#1a64d6;
  color:white;
  font-weight:800;
  padding:10px 16px;
  border-radius:10px;
  white-space:nowrap;
}

.dashboard-cards{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.dashboard-cards .stat{
  min-height:145px;
  position:relative;
  overflow:hidden;
}

.stat-top{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}

.stat-icon{
  min-width:35px;
  height:35px;
  padding:0 7px;
  border-radius:10px;
  display:grid;
  place-items:center;
  font-size:11px;
  font-weight:900;
}

.stat-blue .stat-icon{
  background:#e7f0ff;
  color:#1769e0;
}

.stat-green .stat-icon{
  background:#e7f7ef;
  color:#15875c;
}

.stat-red .stat-icon{
  background:#fdebee;
  color:#c43d4b;
}

.stat-orange .stat-icon{
  background:#fff0dc;
  color:#bd6b0b;
}

.stat-purple .stat-icon{
  background:#f0ecff;
  color:#7254c9;
}

.stat-owner{
  border:2px solid #f0b6bc;
  box-shadow:0 5px 18px rgba(190,45,62,.11);
}

.stat-owner .stat-icon{
  background:#fdebee;
  color:#c43d4b;
}

.clickable-stat{
  cursor:pointer;
  transition:.15s ease;
}

.clickable-stat:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(30,50,80,.09);
}

.pdc-total-card{
  grid-column:span 2;
}

.dashboard-lower{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);
  gap:18px;
  align-items:start;
}

.urgent-panel,
.quick-panel{
  margin-bottom:0;
}

.urgent-list{
  display:grid;
  gap:8px;
}

.urgent-row{
  width:100%;
  border:1px solid var(--line);
  background:#fff;
  border-radius:11px;
  padding:11px 12px;
  display:grid;
  grid-template-columns:135px minmax(160px,1fr) minmax(150px,1fr) 22px;
  align-items:center;
  gap:12px;
  text-align:left;
  color:inherit;
}

.urgent-row:hover{
  background:#f8fbff;
  border-color:#c9d9ec;
}

.urgent-person strong,
.urgent-detail strong{
  display:block;
  font-size:14px;
}

.urgent-person span,
.urgent-detail span{
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-top:3px;
}

.urgent-arrow{
  font-size:28px;
  color:#93a0b3;
  text-align:right;
}

.empty-good{
  min-height:180px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#5a6b7f;
  text-align:center;
}

.empty-good>div{
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e7f7ef;
  color:#15875c;
  font-size:22px;
  margin-bottom:10px;
}

.empty-good strong{
  color:var(--text);
}

.empty-good span{
  font-size:13px;
  margin-top:4px;
}

.dashboard-actions{
  display:grid;
  gap:10px;
}

.dashboard-action{
  border:0;
  border-radius:11px;
  padding:13px 14px;
  display:flex;
  align-items:center;
  gap:11px;
  text-align:left;
  font-weight:700;
}

.dashboard-action>span{
  min-width:34px;
  height:34px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.25);
  font-size:13px;
  font-weight:900;
}

.blue-action{
  background:#1769e0;
  color:#fff;
}

.pale-action{
  background:#e9f1ff;
  color:#145ab7;
}

.green-action{
  background:#16875c;
  color:#fff;
}

.orange-action{
  background:#d77a0a;
  color:#fff;
}

.red-action{
  background:#c83d4c;
  color:#fff;
}

.owner-action{
  padding:16px 14px;
  box-shadow:0 5px 14px rgba(190,45,62,.16);
}

@media(max-width:1250px){
  .dashboard-cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .pdc-total-card{
    grid-column:span 1;
  }

  .dashboard-lower{
    grid-template-columns:1fr;
  }

  .dashboard-actions{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:850px){
  .dashboard-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .urgent-row{
    grid-template-columns:110px 1fr 24px;
  }

  .urgent-detail{
    grid-column:2;
  }
}

@media(max-width:600px){
  .priority-strip{
    align-items:flex-start;
  }

  .priority-btn{
    display:none;
  }

  .dashboard-cards{
    grid-template-columns:1fr 1fr;
  }

  .dashboard-cards .stat{
    min-height:125px;
  }

  .urgent-row{
    grid-template-columns:1fr 20px;
  }

  .urgent-row>div:first-child{
    grid-column:1;
  }

  .urgent-person{
    grid-column:1;
  }

  .urgent-detail{
    grid-column:1;
  }

  .urgent-arrow{
    grid-column:2;
    grid-row:1 / span 3;
  }

  .dashboard-actions{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   FINAL UI POLISH
   ========================================================= */

:root{
  --blue:#1769e0;
  --blue-dark:#1057bd;
  --green:#15875c;
  --red:#c53d4b;
  --orange:#c97811;
  --purple:#6f55c8;
  --bg:#f5f7fb;
  --card:#ffffff;
  --text:#192230;
  --muted:#6b7585;
  --line:#e3e8ef;
  --nav:#102b50;
  --shadow:0 4px 16px rgba(25,45,75,.06);
}

body{
  background:#f5f7fb;
  color:var(--text);
}

.main{
  padding:28px 32px 50px;
}

.topbar{
  margin-bottom:24px;
}

.topbar h1{
  font-size:29px;
  font-weight:750;
  letter-spacing:-.4px;
}

.topbar p{
  font-size:14px;
}


/* SIDEBAR */

.sidebar{
  width:260px;
  background:linear-gradient(180deg,#0d2b52,#102543);
  padding:20px 14px;
}

.main{
  margin-left:260px;
  width:calc(100% - 260px);
}

.brand{
  margin-bottom:28px;
}

.brand strong{
  font-size:15px;
}

.brand span{
  font-size:12px;
}

.nav-btn{
  min-height:43px;
  font-size:14px;
  font-weight:600;
  padding:11px 14px;
  border-radius:11px;
}

.nav-btn:hover{
  background:rgba(255,255,255,.08);
}

.nav-btn.active{
  background:#1c4b82;
  box-shadow:inset 3px 0 0 #67a1ff;
}

.nav-count{
  box-shadow:0 2px 6px rgba(0,0,0,.18);
}


/* PANELS */

.panel{
  border-radius:16px;
  border:1px solid #e2e8f0;
  box-shadow:var(--shadow);
  padding:20px;
}

.panel-head{
  margin-bottom:17px;
}

.panel h2{
  font-size:18px;
}

.panel h3{
  font-size:16px;
}


/* DASHBOARD CARDS */

.stat{
  border-radius:16px;
  box-shadow:var(--shadow);
  transition:.16s ease;
}

.stat:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(25,45,75,.09);
}

.stat strong{
  font-size:29px;
  font-weight:750;
  letter-spacing:-.3px;
}

.stat .money{
  font-size:18px;
}

.stat-top span{
  font-weight:650;
}

.stat-icon{
  min-width:38px;
  height:38px;
  border-radius:11px;
}


/* BUTTONS */

button,
.primary,
.secondary,
.success,
.warning,
.danger,
.ghost{
  transition:.14s ease;
}

.primary,
.secondary,
.success,
.warning,
.danger,
.ghost{
  min-height:40px;
}

.primary:hover{
  background:var(--blue-dark);
}

.success:hover{
  filter:brightness(.95);
}

.warning:hover{
  filter:brightness(.95);
}

.danger:hover{
  filter:brightness(.94);
}

.secondary:hover{
  background:#dbe9ff;
}

.ghost:hover{
  background:#f6f8fb;
}


/* Keep destructive action visually less prominent until hover */

.delete-user-btn,
#deleteChequeBtn{
  background:#fff;
  color:#b93140;
  border:1px solid #eabac0;
}

.delete-user-btn:hover,
#deleteChequeBtn:hover{
  background:#c53d4b;
  color:#fff;
}


/* FORMS */

label{
  color:#344054;
  font-size:13px;
  font-weight:650;
}

input,
select,
textarea{
  border:1px solid #cfd7e3;
  background:#fff;
  border-radius:11px;
  padding:11px 12px;
  color:#1d2939;
  transition:.12s ease;
}

input:hover,
select:hover,
textarea:hover{
  border-color:#b4c2d4;
}

input:focus,
select:focus,
textarea:focus{
  outline:none;
  border-color:#4a88df;
  box-shadow:0 0 0 3px rgba(23,105,224,.12);
}

textarea{
  min-height:95px;
}


/* TABLES */

.table-wrap{
  border-radius:12px;
}

table{
  background:white;
}

th{
  background:#f8fafc;
  color:#667085;
  padding:12px 11px;
  font-weight:700;
}

td{
  padding:13px 11px;
  vertical-align:middle;
}

tbody tr{
  transition:.1s ease;
}

tbody tr:hover{
  background:#fafcff;
}


/* STATUS BADGES */

.badge{
  padding:6px 10px;
  font-size:11px;
  letter-spacing:.01em;
}

.badge.green{
  background:#e9f7ef;
  color:#13704d;
}

.badge.red{
  background:#fdecee;
  color:#a92f3c;
}

.badge.orange{
  background:#fff2df;
  color:#995a08;
}

.badge.blue{
  background:#e8f1ff;
  color:#155cad;
}


/* MODAL */

.modal{
  backdrop-filter:blur(2px);
}

.modal-card{
  border-radius:18px;
  padding:26px;
  box-shadow:0 24px 70px rgba(14,30,55,.28);
}

.modal-card h2{
  margin-top:0;
  font-size:22px;
}

.modal-close{
  width:36px;
  height:36px;
  border-radius:50%;
}

.modal-close:hover{
  background:#f0f3f7;
}


/* URGENT ACTIONS */

.urgent-row{
  border-radius:12px;
  padding:13px;
}

.urgent-row:hover{
  box-shadow:0 3px 10px rgba(20,40,70,.05);
}


/* QUICK ACTIONS */

.dashboard-action{
  min-height:58px;
  border-radius:12px;
}

.dashboard-action strong{
  font-size:14px;
}


/* ADD CHEQUE / PDC */

.alloc-row{
  background:#f9fbfd;
  padding:10px;
  border:1px solid #e4e9f1;
  border-radius:12px;
}

.pdc-entry{
  background:#fbfcfe;
}


/* DEPOSIT EMPLOYEE EXPERIENCE */

body.depositor-mode{
  background:#f4f7fb;
}

body.depositor-mode .main{
  max-width:680px;
}

body.depositor-mode .assignment-card{
  border-radius:18px;
  padding:20px;
  box-shadow:0 5px 18px rgba(25,45,75,.07);
}

body.depositor-mode .assignment-card h3{
  font-size:20px;
}

body.depositor-mode .destination{
  font-size:15px;
  padding:14px;
  margin:16px 0;
}

body.depositor-mode .camera-box{
  padding:26px 16px;
  background:#f9fbff;
}

body.depositor-mode .deposited-btn{
  margin-top:16px;
  min-height:52px;
  font-size:16px;
}

body.depositor-mode input[type="date"]{
  min-height:48px;
}


/* LOGIN */

.login-card{
  border-radius:22px;
  padding:38px;
  box-shadow:0 22px 65px rgba(28,55,95,.16);
}

.login-card h1{
  letter-spacing:-.3px;
}

.login-card .primary{
  margin-top:6px;
  min-height:48px;
}


/* TOAST */

.toast{
  border-radius:12px;
  padding:13px 18px;
  font-weight:600;
}


/* RESPONSIVE */

@media(max-width:1100px){
  .main{
    padding:22px;
  }
}

@media(max-width:900px){
  .sidebar{
    width:245px;
  }

  .main{
    margin-left:245px;
    width:calc(100% - 245px);
  }
}

@media(max-width:700px){
  .sidebar{
    width:260px;
  }

  .main{
    margin-left:0;
    width:100%;
    padding:16px;
  }

  .topbar h1{
    font-size:24px;
  }

  .panel{
    padding:16px;
  }

  .dashboard-cards{
    grid-template-columns:1fr 1fr;
  }

  .stat strong{
    font-size:24px;
  }

  .grid2,
  .grid3{
    grid-template-columns:1fr;
  }
}

@media(max-width:480px){
  .dashboard-cards{
    grid-template-columns:1fr;
  }

  .priority-strip{
    padding:13px;
  }

  .assignment-meta{
    grid-template-columns:1fr 1fr;
  }
}


/* Dashboard banners: green auto-hide + red dismiss */
.all-clear-banner{
  transition:
    opacity .3s ease,
    transform .3s ease,
    max-height .35s ease,
    padding .35s ease,
    margin .35s ease;
  overflow:hidden;
  max-height:100px;
}

.all-clear-hide{
  opacity:0;
  transform:translateY(-8px);
  max-height:0;
  padding-top:0;
  padding-bottom:0;
  margin-bottom:0;
  border-width:0;
}

.priority-dismiss{
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:rgba(197,61,75,.10);
  color:#a92f3c;
  font-size:22px;
  line-height:1;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  transition:.15s ease;
}

.priority-dismiss:hover{
  background:rgba(197,61,75,.18);
}

.attention-hide{
  opacity:0;
  transform:translateY(-8px);
  transition:opacity .25s ease, transform .25s ease;
}

/* =========================================================
   COMPACT QUICK ACTIONS BAR
   ========================================================= */

/* Stack dashboard sections instead of side-by-side */
.dashboard-lower{
  display:flex;
  flex-direction:column;
  gap:14px;
}

/* Put Quick Actions above Urgent Actions */
.quick-panel{
  order:-1;
  padding:14px 16px;
}

/* Compact heading */
.quick-panel .panel-head{
  margin-bottom:10px;
}

.quick-panel .panel-head h2{
  font-size:16px;
}

.quick-panel .panel-head .muted{
  display:none;
}

/* One horizontal row */
.dashboard-actions{
  display:flex;
  gap:10px;
  width:100%;
}

/* Equal-width compact buttons */
.dashboard-action{
  flex:1 1 0;
  min-width:0;
  min-height:46px;
  padding:9px 12px;
  border-radius:10px;
  justify-content:center;
  text-align:center;
}

.dashboard-action > span{
  min-width:28px;
  height:28px;
  font-size:11px;
}

.dashboard-action strong{
  font-size:13px;
  white-space:nowrap;
}

/* Reduce wasted height when nothing is urgent */
.empty-good{
  min-height:110px;
}

.urgent-panel{
  padding-bottom:15px;
}

/* Tablet */
@media(max-width:1000px){
  .dashboard-actions{
    flex-wrap:wrap;
  }

  .dashboard-action{
    flex:1 1 calc(33.333% - 10px);
  }
}

/* Mobile */
@media(max-width:600px){
  .dashboard-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .dashboard-action{
    width:100%;
  }
}

@media(max-width:420px){
  .dashboard-actions{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   FULL-WIDTH URGENT ACTIONS
   ========================================================= */

.dashboard-lower{
  display:flex;
  flex-direction:column;
  gap:14px;
  width:100%;
}

.quick-panel{
  width:100%;
}

.urgent-panel{
  width:100%;
}

/* When empty, don't let it become unnecessarily tall */
.urgent-panel .empty-good{
  min-height:120px;
}

/* Give real urgent rows room to breathe */
.urgent-list{
  width:100%;
}

.urgent-row{
  width:100%;
  grid-template-columns:150px minmax(220px,1.3fr) minmax(220px,1fr) 28px;
}

/* Keep the compact Quick Actions row */
.dashboard-actions{
  width:100%;
  display:flex;
  gap:10px;
}

.dashboard-action{
  flex:1 1 0;
}

/* Tablet */
@media(max-width:900px){
  .urgent-row{
    grid-template-columns:120px 1fr 24px;
  }

  .urgent-detail{
    grid-column:2;
  }

  .dashboard-actions{
    flex-wrap:wrap;
  }

  .dashboard-action{
    flex:1 1 calc(50% - 10px);
  }
}

/* Mobile */
@media(max-width:600px){
  .urgent-row{
    grid-template-columns:1fr 22px;
  }

  .urgent-row>div:first-child{
    grid-column:1;
  }

  .urgent-person{
    grid-column:1;
  }

  .urgent-detail{
    grid-column:1;
  }

  .urgent-arrow{
    grid-column:2;
    grid-row:1 / span 3;
  }

  .dashboard-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:420px){
  .dashboard-actions{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   FINAL SCHOOL LOGO
   ========================================================= */

/* Login page */
.login-card{
  text-align:center;
}

.login-logo{
  display:block !important;
  width:220px !important;
  height:190px !important;
  object-fit:contain !important;
  margin:0 auto 22px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.login-card h1{
  text-align:center !important;
  margin:0 0 6px 0 !important;
  font-size:32px;
  line-height:1.15;
}

.login-card > p{
  text-align:center !important;
  margin:0 0 28px 0 !important;
  font-size:16px;
}

.login-card label{
  text-align:left !important;
}

.login-card .primary{
  width:100%;
}

.login-card .brand-mark{
  display:none !important;
}


/* Sidebar */
.sidebar .brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin:4px 6px 26px 6px;
}

.sidebar-logo{
  display:block !important;
  width:62px !important;
  height:62px !important;
  flex:0 0 62px !important;
  object-fit:contain !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
}

.sidebar .brand strong{
  display:block;
  font-size:15px;
  line-height:1.2;
  font-weight:750;
}

.sidebar .brand span{
  display:block;
  margin-top:4px;
  font-size:11px;
  line-height:1.2;
  opacity:.76;
}

.sidebar .brand-mark{
  display:none !important;
}


/* Deposit employee header */
body.depositor-mode .sidebar-logo{
  width:44px !important;
  height:44px !important;
  flex-basis:44px !important;
}


/* Tablet */
@media(max-width:900px){
  .login-logo{
    width:190px !important;
    height:165px !important;
  }

  .sidebar-logo{
    width:54px !important;
    height:54px !important;
    flex-basis:54px !important;
  }
}


/* Mobile */
@media(max-width:600px){
  .login-logo{
    width:155px !important;
    height:135px !important;
    margin-bottom:16px !important;
  }

  .login-card h1{
    font-size:27px;
  }

  .sidebar-logo{
    width:48px !important;
    height:48px !important;
    flex-basis:48px !important;
  }
}

@media(max-width:520px){
  body.depositor-mode .sidebar-logo{
    display:block !important;
    width:36px !important;
    height:36px !important;
    flex-basis:36px !important;
  }
}
