/* Orders page styles */
.orders-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px }
.orders-header h2 { font-size: 1.1rem }
.calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px }
.calendar-day { aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 0.85rem; border-radius: 8px; cursor: pointer; position: relative }
.calendar-day:hover { background: rgba(255, 255, 255, 0.05) }
.calendar-day.today { border: 1px solid var(--accent-cyan) }
.calendar-day.selected, .calendar-day.in-range { background: rgba(0, 240, 255, 0.1) }
.calendar-day.other-month { opacity: 0.3 }
.calendar-dot { width: 6px; height: 6px; border-radius: 50%; position: absolute; bottom: 4px }
.calendar-header { display: flex; justify-content: space-between; align-items: center; padding: 8px; margin-bottom: 8px }
.calendar-header button { background: none; border: none; color: var(--accent-cyan); font-size: 1.2rem; padding: 4px 8px }
.calendar-header .calendar-title { font-size: 0.95rem; font-weight: 500 }
.calendar-weekdays { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; font-size: 0.7rem; color: var(--text-secondary); padding: 4px 0 }
.analytics-block { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 12px 0 }
.analytics-item { text-align: center }
.analytics-value { font-size: 1.1rem; font-weight: 600; color: var(--accent-cyan) }
.analytics-label { font-size: 0.75rem; color: var(--text-secondary) }
.orders-list { display: flex; flex-direction: column; gap: 12px; margin-top: 16px }
.orders-empty { text-align: center; color: var(--text-secondary); padding: 40px 0 }
.order-card { cursor: pointer }
.order-price { font-size: 1.2rem; font-weight: 600; color: var(--accent-cyan) }
.order-details { overflow: hidden; max-height: 0; transition: max-height 0.3s ease }
.order-details.open { max-height: 2200px }
.order-detail-row { display: flex; justify-content: space-between; padding: 4px 0; font-size: 0.85rem }
.order-detail-label { color: var(--text-secondary) }
.order-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; align-items: center }
.order-actions button, .order-actions select { flex-shrink: 0 }
.order-actions .btn-danger { margin-left: auto }
.status-select { width: auto; padding: 6px 10px; font-size: 0.8rem }
.orders-search { display: flex; gap: 8px; align-items: center }
.orders-search input { flex: 1 }
.orders-search select { width: auto; min-width: 130px }
.payment-badge { display: inline-block; padding: 3px 10px; border-radius: 8px; font-size: 0.72rem; font-weight: 600; margin-left: 6px }
.payment-badge.unpaid { background: rgba(255,82,82,0.12); color: #ff5252 }
.payment-badge.partial { background: rgba(255,171,0,0.12); color: var(--accent-orange) }
.payment-badge.paid { background: rgba(0,230,118,0.12); color: var(--accent-green) }
.order-card.overdue { border-color: rgba(255,82,82,0.4) }
.order-deadline { font-size: 0.78rem; color: var(--text-secondary) }
.order-deadline.overdue { color: #ff5252; font-weight: 600 }
.order-history { margin-top: 6px }
.order-history-item { font-size: 0.78rem; color: var(--text-secondary); padding: 3px 0; border-bottom: 1px solid rgba(255,255,255,0.03) }
.order-history-date { color: var(--accent-cyan); margin-right: 8px; font-size: 0.72rem }

/* Deal stages */
.deal-stage-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 8px;
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid rgba(0, 216, 255, 0.3);
  background: rgba(0, 216, 255, 0.08);
  color: var(--accent-cyan);
  font-size: 0.7rem;
  font-weight: 600;
}
.deal-stage-approved { border-color: rgba(0,230,118,0.35); background: rgba(0,230,118,0.08); color: var(--accent-green) }
.deal-stage-revision { border-color: rgba(255,171,0,0.35); background: rgba(255,171,0,0.08); color: var(--accent-orange) }
.deal-stage-line { display: flex; gap: 5px; margin-top: 9px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none }
.deal-stage-line::-webkit-scrollbar { display: none }
.deal-stage-step { flex: 0 0 auto; padding: 4px 7px; border-bottom: 2px solid rgba(255,255,255,0.08); color: rgba(255,255,255,0.34); font-size: 0.64rem; white-space: nowrap }
.deal-stage-step.done { border-color: rgba(0,230,118,0.55); color: rgba(255,255,255,0.7) }
.deal-stage-step.current { border-color: var(--accent-cyan); color: var(--accent-cyan) }

/* Cases */
.cases-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}
.cases-overview > div {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.cases-overview strong { color: var(--accent-cyan); font-size: 1.2rem }
.cases-overview span { color: var(--text-secondary); font-size: 0.74rem }
.cases-toolbar { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px }
.cases-toolbar select { width: auto; min-width: 140px }
.cases-help { margin: 10px 0 14px; color: var(--text-secondary); font-size: 0.74rem; line-height: 1.45 }
.cases-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px }
.case-card {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  background: var(--bg-card);
}
.case-card.needs-photos { border-color: rgba(255,171,0,0.42) }
.case-preview { position: relative; aspect-ratio: 16 / 9; background: rgba(255,255,255,0.025); overflow: hidden }
.case-preview img { width: 100%; height: 100%; display: block; object-fit: cover }
.case-preview-empty { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: var(--text-secondary); font-size: 0.76rem }
.case-status { position: absolute; left: 8px; top: 8px; padding: 4px 7px; border-radius: 5px; background: rgba(5,8,18,0.88); color: var(--accent-orange); font-size: 0.68rem; font-weight: 700 }
.case-status.ready { color: var(--accent-green) }
.case-body { padding: 12px }
.case-title { display: flex; flex-direction: column; gap: 3px }
.case-title strong { overflow-wrap: anywhere }
.case-title span { color: var(--text-secondary); font-size: 0.75rem }
.case-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; color: var(--text-secondary); font-size: 0.68rem }
.case-finance { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-top: 10px }
.case-finance > span { color: var(--accent-cyan); font-weight: 700 }
.case-finance small { color: var(--text-secondary); text-align: right }
.case-edit-btn { width: 100%; margin-top: 10px; font-size: 0.78rem }

.case-modal-card { max-width: 720px }
.case-modal-source { margin: -8px 0 16px; color: var(--text-secondary); font-size: 0.72rem }
.case-modal textarea { resize: vertical }
.case-modal-toggles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 8px 0 16px }
.case-modal-toggles label { display: flex; align-items: flex-start; gap: 7px; padding: 10px; border: 1px solid rgba(255,255,255,0.08); border-radius: 6px; color: var(--text-secondary); font-size: 0.74rem; line-height: 1.35 }
.case-modal-toggles input { width: auto; margin-top: 2px }
.case-modal-section { padding-top: 16px; margin-top: 16px; border-top: 1px solid rgba(255,255,255,0.08) }
.case-modal-section-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px }
.case-modal-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 9px }
.case-modal-gallery figure { position: relative; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,0.08); border-radius: 6px; background: rgba(255,255,255,0.03) }
.case-modal-gallery img { width: 100%; aspect-ratio: 4 / 3; display: block; object-fit: cover }
.case-modal-gallery figcaption { padding: 6px 8px; color: var(--text-secondary); font-size: 0.68rem; overflow-wrap: anywhere }
.case-photos-edit button { position: absolute; top: 5px; right: 5px; width: 26px; height: 26px; padding: 0; border: none; border-radius: 50%; background: rgba(0,0,0,0.75); color: #fff; font-size: 1rem }
.case-modal-empty { margin-top: 8px; padding: 18px; border: 1px dashed rgba(255,255,255,0.12); border-radius: 6px; color: var(--text-secondary); font-size: 0.74rem; text-align: center }
.case-photo-upload { width: auto; padding: 7px 10px; font-size: 0.74rem; cursor: pointer }
.case-photo-upload input { display: none }
.case-modal-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 18px }

@media (max-width: 620px) {
  .cases-list { grid-template-columns: 1fr }
  .cases-toolbar { grid-template-columns: 1fr }
  .cases-toolbar select { width: 100% }
  .case-modal-toggles { grid-template-columns: 1fr }
  .case-modal-gallery { grid-template-columns: repeat(2,minmax(0,1fr)) }
}

/* Expenses */
.expense-card {
  padding: 12px;
}
.expense-category-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 0.72rem;
  font-weight: 600;
  margin-right: 8px;
}
.expense-cat-materials { background: rgba(0,229,255,0.12); color: var(--accent-cyan); }
.expense-cat-rent { background: rgba(255,171,0,0.12); color: var(--accent-orange); }
.expense-cat-salary { background: rgba(0,230,118,0.12); color: var(--accent-green); }
.expense-cat-ads { background: rgba(224,64,251,0.12); color: var(--accent-pink); }
.expense-cat-tools { background: rgba(102,102,102,0.15); color: var(--accent-gray); }
.expense-cat-delivery { background: rgba(0,229,255,0.12); color: var(--accent-cyan); }
.expense-cat-other { background: rgba(102,102,102,0.15); color: var(--accent-gray); }
.expense-date { font-size: 0.75rem; color: var(--text-secondary); }
.expense-amount { font-size: 1.05rem; font-weight: 600; color: #ff5252; }
.expense-desc { font-size: 0.8rem; color: var(--text-secondary); margin-top: 4px; }
