@media print {
  .right,
  .button-group,
  #search,
  #tabs {
    display: none !important;
  }
  body {
    margin: 0;
    padding: 40px;
    font-family: 'Times New Roman', serif;
    background: #fff;
  }
  .left {
    width: 100% !important;
    border: none;
  }
  .receipt {
    display: block !important;
  }
  table {
    font-size: 12px;
  }
}

body {
  display: flex;
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
  background: #f7f7f7;
}

.left,
.right {
  padding: 20px;
  height: 100vh;
  overflow-y: auto;
  background: #fff;
}

.left {
  width: 60%;
  border-right: 1px solid #e6e6e6;
}

.right {
  width: 40%;
}

h2 {
  margin: 0 0 8px;
}

h3 {
  margin: 16px 0 8px;
  font-size: 16px;
}

label {
  font-size: 13px;
  color: #333;
}

input[type="text"],
input[type="number"],
input[type="date"],
select,
input[type="file"] {
  width: 100%;
  height: 28px;
  padding: 4px 6px;
  margin: 4px 0;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 13px;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 12px;
}

table,
th,
td {
  border: 1px solid #ccc;
}

th {
  background: #175e7d;
  color: #fff;
  font-size: 12px;
  padding: 6px 8px;
  position: sticky;
  top: 0;
  z-index: 1;
}

td {
  padding: 4px 6px;
}

.table-wrap {
  overflow-x: auto;
}

.totals {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  margin-top: 8px;
  font-size: 13px;
}

.totals div {
  text-align: right;
}

.grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.grid-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}

.button-group {
  margin-top: 16px;
}

.button-group button {
  height: 32px;
  padding: 0 14px;
  background: #175e7d;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.tabs {
  display: flex;
  gap: 6px;
  border-bottom: 1px solid #e6e6e6;
  margin-bottom: 8px;
}

.tab {
  padding: 6px 10px;
  font-size: 13px;
  color: #333;
  background: #f4f7fa;
  border: 1px solid #d9e2ea;
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  cursor: pointer;
}

.tab.active {
  background: #fff;
  font-weight: 600;
  color: #000;
  border-color: #ccd7e0;
}

.tab-pane {
  display: none;
}

.tab-pane.active {
  display: block;
}

.tab-tools {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
}

.tab-tools input[type="text"] {
  flex: 1;
  height: 28px;
}

.btn {
  height: 28px;
  padding: 0 10px;
  border: 1px solid #175e7d;
  color: #175e7d;
  background: #fff;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
}

.btn:hover {
  background: #175e7d;
  color: #fff;
}

.record {
  background: #f9f9f9;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  padding: 8px;
  margin-bottom: 8px;
}

.muted {
  color: #666;
  font-size: 12px;
}

.badge {
  padding: 2px 6px;
  border-radius: 10px;
  font-size: 12px;
}

.badge.UNPAID {
  background: #fff2f2;
  color: #a11;
  border: 1px solid #ffd6d6;
}

.badge.PARTIAL {
  background: #e6f7ff;
  color: #1769aa;
  border: 1px solid #bfe6ff;
}

.badge.PAID {
  background: #e6ffe9;
  color: #1a7f37;
  border: 1px solid #bff0c7;
}

.badge.REFUNDED {
  background: #eee;
  color: #555;
  border: 1px solid #ddd;
}

.receipt {
  display: none;
  border: 1px dashed #ccc;
  padding: 12px;
  margin-top: 12px;
}

.files-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 8px;
  margin-top: 6px;
}

.file-chip {
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 6px 8px;
  font-size: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.file-chip button {
  border: none;
  background: transparent;
  cursor: pointer;
  color: #a11;
}

diff --git a//dev/null b/common.css
index 0000000000000000000000000000000000000000..cdc48cf37477b1b2dfb3c2c22d2d5d644ff6e750 100644
--- a//dev/null
 ++ b/common.css
@@ -0,0 +1,26 @@
 body{display:flex;margin:0;font-family:Arial,sans-serif;}
 .left{width:60%;padding:1rem;box-sizing:border-box;}
 .right{width:40%;padding:1rem; box-sizing:border-box;}
 .table-wrap{overflow-x:auto;}
 .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem;}
 .totals{display:grid;grid-template-columns:1fr 1fr;gap:0.25rem;margin-top:0.5rem;}
 .button-group{margin-top:1rem;display:flex;gap:0.5rem;}
 .tabs{display:flex;gap:0.5rem;margin-top:1rem;}
 .tab{padding:0.5rem 1rem;border:1px solid #ccc;cursor:pointer;}
 .tab.active{background:#eee;}
 .tab-pane{display:none;margin-top:1rem;}
 .tab-pane.active{display:block;}
 .record{border-bottom:1px solid #ddd;padding:0.5rem 0;}
 .badge{padding:0.1rem 0.4rem;border-radius:3px;font-size:0.8em;color:#fff;}
 .badge.UNPAID{background:#999;}
 .badge.PARTIAL{background:#c90;}
 .badge.PAID{background:#090;}
 .badge.REFUNDED{background:#900;}
 .muted{color:#666;font-size:0.9em;}
 .file-chip{display:inline-flex;align-items:center;gap:0.25rem;background:#eee;padding:0.25rem 0.5rem;border-radius:3px;margin-right:0.25rem;margin-bottom:0.25rem;}
 .file-chip button{border:none;background:transparent;cursor:pointer;}
 /* MOD: tidy store-info block */
 .store-info{font-size:0.9em;margin-bottom:1rem;}
 .store-info p{margin:0;display:flex;padding:2px 0;}
 .store-info p + p{border-top:1px solid #eee;}
 .store-info strong{width:65px;display:inline-block;}
