.store-page{padding-top:40px;padding-bottom:80px;}
.store-head{display:flex;align-items:baseline;gap:20px;margin-bottom:24px;flex-wrap:wrap;}
.back-link{font-size:14px;font-weight:600;color:rgba(255,255,255,.55);}
.back-link:hover{color:var(--white);}
.store-head h1{font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--white);}

.btn-download{
  margin-left:auto;align-self:center;
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 15px;border-radius:999px;
  background:rgba(255,198,41,.08);
  border:2px solid var(--yellow);
  color:var(--yellow);font-size:13px;font-weight:800;
  transition:background .15s ease,color .15s ease;
}
.btn-download:hover{background:var(--yellow);color:var(--dark);}

.dashboard-panel{
  background:var(--white);border:1px solid var(--gray-light);border-radius:20px;
  padding:18px;margin-bottom:24px;
}

.period-form{margin-bottom:16px;}
.period-form select{
  font:inherit;font-size:13.5px;font-weight:600;color:var(--dark);
  border:1px solid var(--gray-light);border-radius:10px;background:var(--white);
  padding:9px 14px;cursor:pointer;
}

.salary-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.salary-summary-label{font-size:13px;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.04em;}
.salary-summary-value{font-size:22px;font-weight:800;letter-spacing:-.02em;}

.salary-list{display:flex;flex-direction:column;gap:10px;}
.salary-row{
  display:flex;align-items:center;gap:14px;
  background:var(--white);border:1px solid var(--gray-light);border-radius:14px;
  padding:14px 18px;
}
.salary-rank{
  width:28px;height:28px;border-radius:50%;background:var(--bg);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  font-size:13px;font-weight:800;color:var(--gray);
}
.salary-row:first-child .salary-rank{
  background:linear-gradient(135deg,var(--yellow),var(--yellow-dark));color:var(--dark);
}
.salary-info{flex:1;min-width:0;}
.salary-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;}
.salary-name{font-size:15px;font-weight:700;color:var(--dark);}
.salary-amount{font-size:15px;font-weight:800;color:var(--dark);white-space:nowrap;}
.salary-empty{padding:28px;text-align:center;color:var(--gray);font-size:14px;background:var(--white);border:1px solid var(--gray-light);border-radius:14px;}

.table-scroll{
  overflow-x:auto;border:1px solid var(--gray-light);border-radius:16px;
  background:var(--white);
}
.ledger-table{border-collapse:collapse;width:100%;min-width:920px;font-size:13.5px;}
.ledger-table th{
  background:var(--bg);color:var(--gray);font-weight:700;text-transform:uppercase;
  font-size:11px;letter-spacing:.04em;padding:10px 8px;
  border-bottom:1px solid var(--gray-light);border-left:1px solid var(--gray-light);
}
.ledger-table th:first-child{border-left:none;}
.ledger-table td{
  border-left:1px solid var(--gray-light);border-bottom:1px solid var(--gray-light);
  padding:0;text-align:center;
}
.ledger-table td:first-child{border-left:none;}
.ledger-table tbody tr:nth-child(even){background:#FBFBFC;}
.col-day{width:48px;font-weight:700;color:var(--gray);background:var(--bg);}
.col-computed{font-weight:700;color:var(--dark);background:#FAFAF6;}
.col-readonly{color:var(--gray);font-weight:600;background:#FBFBFC;}
.cell-input{
  width:100%;border:none;background:transparent;padding:10px 26px 10px 8px;
  font:inherit;font-size:13.5px;color:var(--dark);text-align:center;
  -moz-appearance:textfield;
}
.cell-input:focus{outline:2px solid var(--yellow-dark);outline-offset:-2px;background:#FFFBEB;}
.cell-input::-webkit-outer-spin-button,.cell-input::-webkit-inner-spin-button{
  -webkit-appearance:none;margin:0;
}

.cell{position:relative;}
.cell-wrap{position:relative;display:flex;align-items:center;}
.note-btn{
  position:absolute;right:2px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;border:none;background:transparent;cursor:pointer;
  font-size:11px;line-height:1;opacity:.3;padding:0;border-radius:5px;
}
.note-btn:hover{opacity:.75;background:var(--gray-light);}
.note-btn.has-note{opacity:1;background:var(--yellow);}
.note-pop{
  display:none;position:absolute;top:calc(100% + 4px);right:0;z-index:40;
  width:180px;background:var(--white);border:1px solid var(--gray-light);
  border-radius:10px;box-shadow:0 12px 28px rgba(20,20,30,.15);padding:8px;
  text-align:left;
}
.note-pop.open{display:block;}
.note-text{
  width:100%;border:1px solid var(--gray-light);border-radius:6px;
  font:inherit;font-size:12.5px;padding:6px;resize:vertical;color:var(--dark);
}

/* Rent list */
.rent-list{display:flex;flex-direction:column;gap:10px;max-width:520px;}
.rent-row{position:relative;}
.rent-trigger{
  width:100%;display:flex;align-items:center;gap:12px;
  background:var(--white);border:1px solid var(--gray-light);border-radius:14px;
  padding:14px 18px;font:inherit;cursor:pointer;text-align:left;
  transition:border-color .15s ease, background .15s ease;
}
.rent-trigger:hover{border-color:var(--gray);}
.rent-check{
  width:20px;height:20px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:800;color:var(--white);
}
.rent-name{flex:1;font-weight:700;font-size:15px;color:var(--dark);}
.rent-due{font-size:12.5px;font-weight:600;color:var(--gray);}

.rent-normal .rent-check{background:var(--gray-light);}
.rent-paid .rent-trigger{border-color:#B7E4C7;background:#F3FBF6;}
.rent-paid .rent-check{background:#2FA86A;}
.rent-orange .rent-trigger{border-color:var(--yellow-dark);background:#FFF8E6;}
.rent-orange .rent-due{color:#B36B00;font-weight:700;}
.rent-orange .rent-check{background:var(--yellow-dark);}
.rent-red .rent-trigger{border-color:#E23D3D;background:#FDECEC;}
.rent-red .rent-due{color:#C21F1F;font-weight:800;}
.rent-red .rent-name{color:#C21F1F;}
.rent-red .rent-check{background:#E23D3D;}

.rent-pop{
  display:none;position:absolute;top:calc(100% + 6px);left:18px;z-index:40;
  background:var(--white);border:1px solid var(--gray-light);border-radius:12px;
  box-shadow:0 12px 28px rgba(20,20,30,.15);padding:10px;min-width:200px;
}
.rent-pop.open{display:block;}
.rent-pop-text{font-size:12.5px;font-weight:600;color:var(--dark);margin-bottom:8px;}
.btn-danger{background:#E23D3D;color:var(--white);}
.btn-danger:hover{box-shadow:0 10px 20px rgba(226,61,61,.3);}
