*{box-sizing:border-box}body{margin:0;background:#f4f7f5;color:#18332d;font:15px system-ui,Arial}header{background:white;border-bottom:1px solid #dce6e1;padding:12px 4%;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}header img{width:230px;max-height:76px;object-fit:contain;object-position:left}nav a{display:inline-block;margin:5px 9px;color:#076b49;text-decoration:none;font-weight:650}main{max-width:1180px;margin:26px auto;padding:0 16px}.card,.login{background:white;border:1px solid #dce6e1;border-radius:13px;padding:22px;margin:14px 0;box-shadow:0 2px 8px #143e2c0a}.login{max-width:480px;margin:9vh auto}.brand{width:100%;max-height:150px;object-fit:contain}h1{font-size:25px}h2{font-size:20px}table{width:100%;border-collapse:collapse;background:white}th,td{padding:10px;border-bottom:1px solid #e0e8e4;text-align:left}th{background:#eaf6ef}input,select,textarea{width:100%;padding:11px;border:1px solid #b9cfc4;border-radius:7px;margin:6px 0 14px;background:white}textarea{min-height:90px}label{display:block;font-weight:600}button,.button{background:#08764f;color:white;border:0;padding:11px 18px;border-radius:7px;cursor:pointer;text-decoration:none}button:hover{background:#06583b}.error{color:#a62121}.notice{background:#e4f6eb;padding:10px;border-radius:6px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.muted{color:#5b7067}.scroll{overflow-x:auto}small{font-size:12px}
/* V1.1 mobile-first daily entry */
.smart-heading,.smart-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:12px 0}.secondary{background:#e9f3ee;color:#145c40;border:1px solid #c6dfd1}.secondary:hover{background:#d6ebdf}.activity-row{display:grid;grid-template-columns:minmax(120px,2fr) minmax(75px,1fr) minmax(85px,1fr) auto;gap:8px;align-items:center}.activity-row select,.activity-row input{margin:4px 0 10px}.activity-row .remove{background:#fbe9e9;color:#912626;padding:10px}.counter{display:flex;align-items:center;max-width:240px;gap:8px}.counter input{margin:0;text-align:center}.counter button{min-width:46px;font-size:20px}.smart-actions button{flex:1}@media(max-width:650px){header{padding:12px}header img{width:150px}nav{display:flex;overflow-x:auto;max-width:100%;width:100%}nav a{white-space:nowrap;margin:4px 9px 4px 0}main{margin:12px auto;padding:0 10px}.card{padding:15px}.grid{display:block}button,.button{min-height:44px}.activity-row{grid-template-columns:1fr 1fr auto}.activity-row .activity-name{grid-column:1/-1}.activity-row .remove{grid-column:3;grid-row:2}}

/* SAHAVI EXPENSE CARDS V1.1 */

.expense-list {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.expense-item {
    border: 1px solid #dce8e2;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.expense-item summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 16px;
    cursor: pointer;
    list-style-position: inside;
}

.expense-item summary > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.expense-item summary > span:last-child {
    text-align: right;
    flex-shrink: 0;
}

.expense-item summary strong {
    font-size: 15px;
    line-height: 1.5;
}

.expense-item summary small {
    display: block;
    color: #64748b;
    font-size: 12px;
    line-height: 1.6;
}

.expense-item[open] summary {
    background: #f0f8f4;
    border-bottom: 1px solid #dce8e2;
}

.expense-details {
    padding: 16px;
}

.expense-details p {
    margin: 8px 0;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.expense-approval {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #dce8e2;
}

.expense-calculator {
    display: grid;
    gap: 10px;
}

@media (max-width: 600px) {
    .expense-item summary {
        padding: 12px;
        gap: 10px;
    }

    .expense-item summary strong {
        font-size: 14px;
    }

    .expense-details {
        padding: 12px;
    }
}


/* WorkLog V1.1 — responsive authenticated photo gallery */
.site-gallery-section {
  margin-top: 1rem;
}
.site-photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 190px), 1fr));
  gap: 1rem;
}
.site-photo-card {
  margin: 0;
  overflow: hidden;
  border: 1px solid #dce3ea;
  border-radius: 12px;
  background: #fff;
}
.site-photo-card a {
  display: block;
}
.site-photo-card img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
}
.site-photo-card figcaption {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.75rem;
  overflow-wrap: anywhere;
}
.site-photo-card figcaption small {
  color: #64748b;
}
@media (max-width: 520px) {
  .site-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }
  .site-photo-card img {
    height: 140px;
  }
  .site-photo-card figcaption {
    padding: 0.6rem;
    font-size: 0.85rem;
  }
}
