/* HAJIME Wedding OS · Planner Package 03 STABLE05
   Tối ưu khả năng đọc, nội dung chủ quản có lịch sử, brief đầy đủ cho Trưởng Thiết kế. */

/* 1. Phần tổng hợp tài chính: chữ to, rõ và vẫn gọn trên màn hình nhỏ. */
.stable04-summary,.stable04-summary-grid,.stable04-project-summary{font-size:15px;line-height:1.45}
.stable04-summary b,.stable04-summary strong,.stable04-summary-grid b,.stable04-project-summary b{font-size:18px;line-height:1.25;color:#111827}
.stable04-summary .metric-label,.stable04-summary-grid span,.stable04-project-summary span{font-size:14px;color:#475467;font-weight:700}
.stable04-summary .metric-value,.stable04-summary-grid .metric-value,.stable04-project-summary .metric-value{font-size:22px;font-weight:850;letter-spacing:-.02em}

/* 2. Trạng thái trống có thể thao tác trực tiếp. */
.stable05-empty-action,.stable05-empty-description{width:100%;min-height:96px;border:1px dashed #8eb8ee;border-radius:14px;background:#f7fbff;color:#1d4ed8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:16px;text-align:center;cursor:pointer;font:inherit}
.stable05-empty-action:hover,.stable05-empty-description:hover{background:#eef6ff;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.stable05-empty-action b,.stable05-empty-description b{font-size:17px;color:#1f2937}
.stable05-empty-action span,.stable05-empty-description span{font-size:14px;color:#667085}
.stable05-empty-description{min-height:76px;align-items:flex-start;text-align:left;margin:8px 0}
.stable05-readonly-empty{cursor:default;opacity:.8}
.stable05-edit-design{margin-top:10px}
.stable05-content-form textarea{min-height:110px}
.stable05-content-form .field small{display:block;margin-top:5px;color:#667085;font-size:13px}
.stable05-current-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin:10px 0 14px}
.stable05-current-gallery div{border:1px solid #e4e7ec;border-radius:12px;padding:7px;background:#fff;overflow:hidden}
.stable05-current-gallery img{width:100%;height:88px;object-fit:cover;border-radius:8px;display:block}
.stable05-current-gallery span{display:block;margin-top:5px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stable05-content-history{margin-top:12px;border-top:1px solid #e4e7ec;padding-top:9px}
.stable05-content-history summary{cursor:pointer;font-weight:750;color:#344054}
.stable05-content-history>div{padding:8px 0;border-bottom:1px dashed #e4e7ec;font-size:13px;color:#475467}

/* 3. Tình nhận trọn brief: card một cột, không xô hàng, không che vùng giao việc. */
.stable05-design-lead-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
.stable05-design-lead-card{width:100%;min-width:0;overflow:visible!important}
.stable05-design-lead-card>.card-body{display:block!important;padding:18px!important;overflow:visible!important}
.stable05-design-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.stable05-design-header>div{min-width:0;flex:1}
.stable05-design-header h3{font-size:22px;line-height:1.25;margin:4px 0 6px;color:#111827}
.stable05-design-header p{font-size:16px;line-height:1.55;color:#344054;white-space:normal;overflow:visible;display:block}
.stable05-design-note{margin-top:9px;padding:10px 12px;border-radius:10px;background:#fff8e8;color:#7a4d00;font-size:15px;line-height:1.5}
.stable05-brief-files{margin:12px 0}
.stable05-lead-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.stable05-lead-gallery button{border:1px solid #e4e7ec;border-radius:12px;background:#fff;padding:7px;cursor:pointer;min-width:0}
.stable05-lead-gallery img{display:block;width:100%;height:105px;object-fit:cover;border-radius:8px}
.stable05-lead-gallery span{display:block;margin-top:5px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stable05-file-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.stable05-file-list a{font-size:13px;padding:7px 10px;border-radius:999px;background:#f2f4f7;color:#344054;text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stable05-brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.stable05-brief-grid>div{padding:12px 14px;border:1px solid #e4e7ec;border-radius:12px;background:#fafafa}
.stable05-brief-grid span{display:block;font-size:13px;color:#667085;margin-bottom:3px}
.stable05-brief-grid b{font-size:17px;color:#101828}
.stable05-evaluations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.stable05-eval{padding:12px 14px;border:1px solid #dce6f2;border-radius:12px;background:#f8fbff;min-width:0}
.stable05-eval b{display:block;font-size:14px;color:#1f2937}
.stable05-eval p{font-size:14px;line-height:1.5;color:#475467;margin:5px 0 0;white-space:normal}
.stable05-message-block{margin:14px 0;border:1px solid #e4e7ec;border-radius:12px;background:#fff}
.stable05-message-block summary{padding:12px 14px;cursor:pointer;font-size:15px;font-weight:800;color:#344054}
.stable05-message-list{padding:0 14px 12px;display:grid;gap:9px}
.stable05-message-list article{padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #edf0f4;min-width:0}
.stable05-message-list header{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px}
.stable05-message-list header b{font-size:14px}.stable05-message-list header time{font-size:12px;color:#98a2b3}
.stable05-message-list p{font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.stable05-message-list a{display:inline-block;margin:6px 6px 0 0;font-size:13px;max-width:100%;overflow-wrap:anywhere}
.stable05-assignment{display:grid!important;grid-template-columns:minmax(200px,1fr) minmax(150px,.55fr) minmax(220px,1.2fr) auto!important;gap:10px!important;align-items:center!important;margin-top:16px!important;padding:14px!important;border:1px solid #d6e4f7!important;border-radius:14px!important;background:#f8fbff!important;position:relative!important;z-index:2!important;overflow:visible!important}
.stable05-assignment select,.stable05-assignment input{min-width:0;width:100%;height:44px}
.stable05-assignment .btn{min-width:138px;height:44px;white-space:nowrap}
.stable05-design-lead-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid #e4e7ec}

/* 4. Sale/Planner proposal rows remain true links and are visibly interactive. */
a.stable04-proposal-row{cursor:pointer;text-decoration:none;color:inherit}
a.stable04-proposal-row:hover{box-shadow:0 5px 18px rgba(16,24,40,.08);transform:translateY(-1px)}

/* 5. Không cho role chuyên môn nhìn nút quản trị nội dung nguồn. */
body.role-design .stable05-edit-design,body.role-flower .stable05-edit-design,body.role-production .stable05-edit-design,
body.role-design .stable04-edit-design,body.role-flower .stable04-edit-design,body.role-production .stable04-edit-design{display:none!important}

@media(max-width:1100px){
  .stable05-assignment{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .stable05-assignment .btn{width:100%}
}
@media(max-width:760px){
  .stable04-summary .metric-value,.stable04-summary-grid .metric-value,.stable04-project-summary .metric-value{font-size:19px}
  .stable05-design-header{display:block}.stable05-design-header .chip{margin-top:8px}
  .stable05-brief-grid,.stable05-evaluations{grid-template-columns:1fr}
  .stable05-assignment{grid-template-columns:1fr!important}
  .stable05-lead-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stable05-design-lead-card>.card-body{padding:14px!important}
}

/* STABLE05: bảng nguồn phải co theo vùng nội dung thực tế, không phụ thuộc viewport toàn màn hình. */
.stable04-commercial-source .card-body{overflow:hidden}
.stable04-commercial-source .stable04-source-head{display:none}
.stable04-commercial-source .stable04-source-row{grid-template-columns:repeat(4,minmax(0,1fr))}
.stable04-commercial-source .stable04-item-name,.stable04-commercial-source .stable04-explain{grid-column:span 2}
.stable04-commercial-source .stable04-source-actions{grid-column:1/-1;justify-content:flex-end}
.stable04-summary-card b{font-size:18px;line-height:1.3}
.stable04-summary-card span{font-size:14px;line-height:1.35}
.stable05-existing-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.stable05-existing-gallery button{border:1px solid #e4e7ec;border-radius:12px;padding:6px;background:#fff;cursor:pointer}
.stable05-existing-gallery img{width:100%;height:88px;object-fit:cover;border-radius:8px;display:block}
@media(max-width:760px){
 .stable04-commercial-source .stable04-source-row{grid-template-columns:1fr 1fr}
 .stable04-commercial-source .stable04-item-name,.stable04-commercial-source .stable04-explain{grid-column:1/-1}
}
@media(max-width:520px){.stable04-commercial-source .stable04-source-row{grid-template-columns:1fr}.stable04-commercial-source .stable04-item-name,.stable04-commercial-source .stable04-explain{grid-column:auto}}
