/* ============================================================
   Villa Plumbing Field Portal — Lily Workflow Expansion
   Adds: Portal Partners, Communications, Customers home buttons,
   project Communications pill, customer/contractor directory,
   Lily AI Studio expanded workflows, Needs-Direction queue,
   Twilio/A2P setup checklist, Rollout Ideas panel.
   This file LAYERS on top of rebuild_features.css.
   ============================================================ */

/* Generic two-column form helper used by Lily workflow forms */
.lwx-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lwx-form .full{grid-column:1 / -1}
.lwx-form label{display:flex;flex-direction:column;font-size:12px;font-weight:700;color:var(--tx-md,#4a6b65);text-transform:uppercase;letter-spacing:.4px;gap:4px}
.lwx-form input,.lwx-form select,.lwx-form textarea{font-family:'Barlow',sans-serif;padding:9px 11px;border:1.5px solid var(--bd,#d8e8e5);border-radius:9px;font-size:13px;background:#fff;color:var(--tx,#1a2e2b);outline:none;transition:border .15s}
.lwx-form input:focus,.lwx-form select:focus,.lwx-form textarea:focus{border-color:var(--teal,#FF6B00)}
.lwx-form textarea{min-height:74px;resize:vertical}
.lwx-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}
.lwx-section{background:#fff;border:1px solid var(--bd-lt,#eef4f3);border-radius:14px;padding:1.1rem 1.2rem;margin-bottom:1rem}
.lwx-section h3{font-family:'Barlow Condensed',sans-serif;font-size:18px;color:var(--navy,#141310);margin:0 0 .35rem;font-weight:700}
.lwx-section .lwx-sub{font-size:12.5px;color:var(--tx-md,#4a6b65);margin:0 0 .85rem;line-height:1.5}
.lwx-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:700;background:#FFF0E5;color:var(--teal-dk,#D95A00);text-transform:uppercase;letter-spacing:.4px}
.lwx-tag.warn{background:#fff4dc;color:#8a5c00}
.lwx-tag.danger{background:#fde2dc;color:#9a3315}
.lwx-tag.info{background:#e8f4ff;color:#1458a0}

/* Worker / company / contact list cards */
.lwx-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.lwx-card{background:#fff;border:1px solid var(--bd-lt,#eef4f3);border-radius:12px;padding:.85rem 1rem;cursor:pointer;transition:all .15s}
.lwx-card:hover{border-color:var(--teal,#FF6B00);box-shadow:0 8px 18px rgba(255,107,0,.13);transform:translateY(-1px)}
.lwx-card .nm{font-family:'Barlow Condensed',sans-serif;font-size:17px;font-weight:700;color:var(--navy,#141310);margin-bottom:2px}
.lwx-card .meta{font-size:12px;color:var(--tx-md,#4a6b65);line-height:1.45}
.lwx-card .row{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}

/* Communications safety queue */
.lwx-queue{display:flex;flex-direction:column;gap:8px}
.lwx-queue-item{background:#fff;border:1.5px solid var(--bd-lt,#eef4f3);border-left:4px solid var(--amber,#e9c46a);border-radius:10px;padding:.7rem .9rem}
.lwx-queue-item.flagged{border-left-color:var(--coral,#e76f51);background:#fff8f5}
.lwx-queue-item.approved{border-left-color:var(--teal,#FF6B00);background:#f3fbf9}
.lwx-queue-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;flex-wrap:wrap}
.lwx-queue-head .nm{font-weight:700;color:var(--navy,#141310);font-size:13.5px}
.lwx-queue-head .meta{font-size:11.5px;color:var(--tx-md,#4a6b65)}
.lwx-queue-body{font-size:12.5px;color:var(--tx,#1a2e2b);margin-top:6px;line-height:1.5;background:#f8fbfa;border-radius:8px;padding:8px 10px}
.lwx-queue-acts{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}

/* Setup checklist */
.lwx-check{display:flex;flex-direction:column;gap:6px}
.lwx-check-item{display:flex;align-items:flex-start;gap:10px;padding:.55rem .75rem;background:#f8fbfa;border-radius:9px;border:1px solid var(--bd-lt,#eef4f3)}
.lwx-check-item .ic{font-size:16px;line-height:1.2;flex-shrink:0}
.lwx-check-item .tx{flex:1}
.lwx-check-item .tx b{display:block;color:var(--navy,#141310);font-size:13px;margin-bottom:1px}
.lwx-check-item .tx span{font-size:11.5px;color:var(--tx-md,#4a6b65);line-height:1.4}

/* Rollout suggestions */
.lwx-ideas{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.lwx-idea{background:#fff;border:1px solid var(--bd-lt,#eef4f3);border-radius:11px;padding:.8rem .95rem;border-top:3px solid var(--teal,#FF6B00)}
.lwx-idea h4{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;color:var(--navy,#141310);margin:0 0 4px}
.lwx-idea p{font-size:12.5px;color:var(--tx-md,#4a6b65);line-height:1.5;margin:0}

/* Photo intake placeholder zone */
.lwx-photo-drop{border:2px dashed var(--bd,#d8e8e5);border-radius:12px;padding:1.6rem 1rem;text-align:center;color:var(--tx-md,#4a6b65);background:#fafdfc}
.lwx-photo-drop b{display:block;color:var(--navy,#141310);font-size:14px;margin-bottom:4px}
.lwx-photo-drop .ic{font-size:32px;line-height:1}

/* Lily chat camera button */
.lily-cam-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 11px;border:1.5px solid var(--bd,#d8e8e5);border-radius:9px;background:#fff;color:var(--teal-dk,#D95A00);font-family:'Barlow',sans-serif;font-size:12.5px;font-weight:700;cursor:pointer}
.lily-cam-btn:hover{background:var(--teal-lt,#FFF0E5);border-color:var(--teal,#FF6B00)}

/* Project Communications pill */
.lwx-comm-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:#e8f4ff;color:#1458a0;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;cursor:pointer;border:1.5px solid #cfe2f5;transition:all .15s;margin-left:6px}
.lwx-comm-pill:hover{background:#d4ebff;transform:translateY(-1px)}

/* Schedule/profitability table */
.lwx-table{width:100%;border-collapse:collapse;font-size:12.5px}
.lwx-table th,.lwx-table td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--bd-lt,#eef4f3)}
.lwx-table th{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:10.5px;color:var(--tx-lt,#8aada8);letter-spacing:.4px;background:#f8fbfa}
.lwx-table tfoot td{font-weight:700;color:var(--navy,#141310);background:#f8fbfa}

/* Generic banner */
.lwx-banner{background:linear-gradient(90deg,#FFF0E5,#f3fbf9);border:1px solid #FFD4B0;border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem;font-size:12.5px;color:var(--teal-dk,#D95A00);line-height:1.5}
.lwx-banner.warn{background:#fff8e8;border-color:#f4d88a;color:#8a5c00}

/* Make sure home action grid keeps a balanced layout when we inject buttons */
@media (max-width: 720px){
  .lwx-form{grid-template-columns:1fr}
}
