/* ============================================================
   Villa Plumbing Field Portal — Cleanup / Usability v5
   Layered on top of the existing styles. Adds:
     • Green styling for scheduled board cards (day/week/crew)
       while preserving conflict / warning / time-off distinction
     • Insurance Center, Portal Partners subcontractor tab,
       Lily chat-hub bottom-action layout, Customer hub styles
   ============================================================ */

/* ---------- Scheduler v4: scheduled cards on the board ---------- */
.sv4-col-body[data-day] .sv4-card,
.sv4-cell .sv4-card{
  background:#FFF0E5;            /* teal-lt — clearly green */
  border-color:#FF6B00;           /* teal */
  border-left-color:#D95A00;      /* teal-dk */
}
.sv4-col-body[data-day] .sv4-card:hover,
.sv4-cell .sv4-card:hover{
  background:#dff1ee;
  border-color:#D95A00;
}
/* Conflict, warning and emergency stay clearly distinguishable */
.sv4-col-body[data-day] .sv4-card.has-conflict,
.sv4-cell .sv4-card.has-conflict{
  background:#ffe8e6;
  border-color:#cc2b2b;
  border-left-color:#cc2b2b;
  outline:2px solid #cc2b2b;
}
.sv4-col-body[data-day] .sv4-card.type-emergency,
.sv4-cell .sv4-card.type-emergency{
  background:#fff7f4;
  border-color:#e76f51;
  border-left-color:#e76f51;
}
.sv4-col-body[data-day] .sv4-card.type-inspection,
.sv4-cell .sv4-card.type-inspection{
  /* keep inspection visually amber-tinted but still clearly scheduled */
  background:#fcf5e3;
  border-color:#cda23a;
  border-left-color:#e9c46a;
}
/* Hard-Start-Date pill emphasis */
.sv4-flag-locked{background:#141310;color:#fff}
.swf3-pill-lock{background:#1A1916;color:#fff;padding:2px 7px;border-radius:5px;font-size:11px;font-weight:700}

/* Time-off cells stay grey-striped (already handled), but make sure
   the request-view cards don't accidentally pick up the green rule. */
#sv4Grid > div:not(.sv4-col) > .sv4-card{ background:#fff; border-left-color:#FF6B00; }

/* ---------- Cleanup v5: Insurance Center, Customers hub, Portal Partners ---------- */
.vc5-hub{max-width:1180px;margin:0 auto}
.vc5-banner{background:#eef9f7;border:1px solid #FFD4B0;border-radius:12px;padding:12px 14px;margin-bottom:14px;font-size:13px;color:#1a2e2b;line-height:1.5}
.vc5-banner.warn{background:#fff4dc;border-color:#e9c46a;color:#7a5400}
.vc5-banner.danger{background:#ffe2d5;border-color:#e76f51;color:#a23c1f}
.vc5-section{background:#fff;border:1px solid #d8e8e5;border-radius:12px;padding:14px 16px;margin-bottom:14px}
.vc5-section h3{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;color:#141310;margin:0 0 8px;text-transform:uppercase;letter-spacing:.4px}
.vc5-section p.sub{font-size:13px;color:#4a6b65;line-height:1.5;margin:0 0 10px}
.vc5-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.vc5-card{background:#fff;border:1px solid #d8e8e5;border-radius:10px;padding:12px;cursor:pointer;transition:.15s}
.vc5-card:hover{border-color:#FF6B00;box-shadow:0 4px 12px rgba(255,107,0,.12)}
.vc5-card .nm{font-weight:700;color:#141310;font-size:14px;margin-bottom:4px}
.vc5-card .meta{font-size:12px;color:#4a6b65;line-height:1.45}
.vc5-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.vc5-tag{display:inline-block;background:#eef4f3;color:#D95A00;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}
.vc5-tag.warn{background:#fff4dc;color:#7a5400}
.vc5-tag.danger{background:#ffe2d5;color:#a23c1f}
.vc5-tag.ok{background:#dcf5ef;color:#0a5c48}
.vc5-tag.info{background:#e8f4ff;color:#1458a0}
.vc5-table{width:100%;border-collapse:collapse;font-size:13px}
.vc5-table th{background:#f8fbfa;padding:8px 10px;text-align:left;font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;color:#4a6b65;text-transform:uppercase;letter-spacing:.5px;border-bottom:1.5px solid #d8e8e5}
.vc5-table td{padding:8px 10px;border-bottom:1px solid #eef4f3;color:#1a2e2b}
.vc5-tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.vc5-tab{padding:8px 14px;border:1.5px solid #d8e8e5;background:#fff;color:#4a6b65;border-radius:10px;cursor:pointer;font-family:'Barlow',sans-serif;font-weight:650;font-size:13px}
.vc5-tab:hover{border-color:#FF6B00;color:#D95A00}
.vc5-tab.on{background:#FF6B00;color:#fff;border-color:#FF6B00}
.vc5-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.vc5-back{display:inline-flex;align-items:center;gap:4px;padding:7px 12px;background:#fff;border:1.5px solid #d8e8e5;color:#1a2e2b;border-radius:8px;cursor:pointer;font-family:'Barlow',sans-serif;font-weight:650;font-size:13px}
.vc5-back:hover{border-color:#FF6B00;color:#D95A00}
.vc5-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.vc5-form label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:650;color:#4a6b65}
.vc5-form label.full{grid-column:1/-1}
.vc5-form input,.vc5-form select,.vc5-form textarea{border:1px solid #d8e8e5;border-radius:7px;padding:8px 10px;font-family:'Barlow',sans-serif;font-size:13px;color:#1a2e2b;background:#fff;outline:none}
.vc5-form input:focus,.vc5-form select:focus,.vc5-form textarea:focus{border-color:#FF6B00}
.vc5-form textarea{min-height:70px;resize:vertical}

/* admin-only block */
.vc5-admin-only{background:#fff7e6;border:1px dashed #d4a843;border-radius:10px;padding:12px;margin-top:10px}
.vc5-admin-only .lock{font-size:11px;color:#8a5b00;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;display:flex;align-items:center;gap:5px}

/* expiring soon row colors for insurance */
.vc5-exp-soon{background:#fff4dc}
.vc5-exp-overdue{background:#ffe2d5}
.vc5-exp-ok{background:#fff}

/* ---------- Lily AI Studio chat-hub layout ---------- */
/* Composer (Photo + input + Send) is pinned to the very top so it stays
   in reach above the hero, chat thread, and common task buttons.       */
.lily-studio[data-vc5-chathub="1"]{display:flex;flex-direction:column;height:100%}
.lily-studio[data-vc5-chathub="1"] .lily-modal-foot-top{order:-2;}
.lily-studio[data-vc5-chathub="1"] .lily-studio-hero{order:0;}
.lily-studio[data-vc5-chathub="1"] .lily-modal-body{flex:1 1 auto;min-height:240px;order:1;}
.lily-studio[data-vc5-chathub="1"] .lily-act-grid{order:2;background:#f8fbfa;border-top:1px solid #d8e8e5;padding:10px;border-radius:10px;margin-top:8px}
.lily-studio[data-vc5-chathub="1"] .lily-modal-foot:not(.lily-modal-foot-top){order:3;}
.lily-cam-btn{padding:9px 12px;border:1.5px solid #FF6B00;background:#FFF0E5;color:#D95A00;border-radius:8px;cursor:pointer;font-weight:700;font-size:13px;margin-right:6px}
.lily-cam-btn:hover{background:#FFD4B0}

/* approval badge in Lily messages */
.lily-msg .vc5-approval-gate{margin-top:6px;padding:8px 10px;background:#fff4dc;border:1px solid #e9c46a;border-radius:8px;color:#7a5400;font-size:12px;font-weight:600}

/* mobile no horizontal overflow */
@media (max-width:480px){
  .vc5-form{grid-template-columns:1fr}
  .vc5-table{font-size:12px}
  .vc5-tabs{gap:4px}
  .vc5-tab{padding:6px 10px;font-size:12px}
}
