/* HAJIME Wedding OS — Planner Package 02 FIX01
   Chỉ điều chỉnh không gian Planner Gói 02: Master Plan, Vendor và Ngân sách. */

:root{
  --pkg2-font:15px;
  --pkg2-line:1.48;
  --pkg2-border:#dfe5ec;
  --pkg2-muted:#657286;
  --pkg2-ink:#172236;
}

body{font-size:var(--pkg2-font);line-height:var(--pkg2-line)}
.content{overflow-x:hidden}
.content input,.content select,.content textarea,.modal-body input,.modal-body select,.modal-body textarea{font-size:15px;line-height:1.4}
.content .btn,.modal-body .btn,.drawer-body .btn{font-size:14px}

/* Một bảng Master Plan duy nhất — không tạo thanh cuộn ngang ở 1280/1440px. */
.pkg2-master-shell{min-width:0;overflow:hidden}
.pkg2-master-table{width:100%;min-width:0;border:1px solid var(--pkg2-border);border-radius:14px;overflow:hidden;background:#fff}
.pkg2-master-head,.pkg2-master-row{
  display:grid;
  grid-template-columns:minmax(250px,1.65fr) minmax(105px,.56fr) 86px 112px minmax(218px,1.22fr) 42px;
  align-items:center;
  gap:10px;
  width:100%;
  min-width:0;
}
.pkg2-master-head{padding:10px 12px;background:#f3f6f9;border-bottom:1px solid var(--pkg2-border);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;color:#59677c}
.pkg2-master-row{padding:10px 12px;border-bottom:1px solid rgba(97,112,132,.14);position:relative;transition:box-shadow .16s ease,transform .16s ease}
.pkg2-master-row:last-child{border-bottom:0}
.pkg2-master-row:hover{box-shadow:inset 4px 0 0 rgba(29,80,122,.42)}
.pkg2-master-row>*,.pkg2-master-head>*{min-width:0}
.pkg2-master-title{display:flex;align-items:flex-start;gap:8px;min-width:0}
.pkg2-master-indent{flex:0 0 auto;width:calc(var(--pkg2-level,0) * 16px)}
.pkg2-master-title-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.pkg2-master-title-copy b{color:var(--pkg2-ink);font-size:14px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.pkg2-master-title-copy span,.pkg2-master-cell span{color:var(--pkg2-muted);font-size:12px;white-space:normal;overflow-wrap:anywhere}
.pkg2-master-cell{min-width:0;display:flex;flex-direction:column;gap:3px}
.pkg2-master-cell b{font-size:13px;color:var(--pkg2-ink);white-space:normal;overflow-wrap:anywhere}
.pkg2-master-status{min-width:0}
.pkg2-master-status .chip{max-width:100%;white-space:normal;text-align:center;line-height:1.25}
.pkg2-master-actions{display:flex;justify-content:flex-end}
.pkg2-master-actions .icon-btn{width:34px;height:34px}
.pkg2-order-row{box-shadow:inset 4px 0 0 rgba(32,100,73,.44)}
.pkg2-order-row .pkg2-master-title-copy b{font-weight:850}
.pkg2-finance-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px}
.pkg2-finance-summary b{font-size:12px}
.pkg2-budget-link{display:inline-flex;align-items:center;gap:5px;font-weight:800;color:#1c5c8f;text-decoration:none;font-size:12px;margin-top:2px}
.pkg2-budget-link:hover{text-decoration:underline}
.pkg2-master-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.pkg2-master-toolbar .page-actions{margin-left:auto}
.pkg2-master-note{font-size:13px;color:var(--pkg2-muted)}
.pkg2-project-select{min-width:250px;max-width:100%}

/* 13 tông nền Vendor ổn định, đủ khác nhau nhưng vẫn dịu để đọc lâu. */
.vendor-tone-0{background:#f5f1ff!important}.vendor-tone-1{background:#edf7ff!important}.vendor-tone-2{background:#eefbf5!important}.vendor-tone-3{background:#fff7e8!important}.vendor-tone-4{background:#fff0f3!important}.vendor-tone-5{background:#f2f7ea!important}.vendor-tone-6{background:#f8f2e9!important}.vendor-tone-7{background:#eef4ff!important}.vendor-tone-8{background:#f7eff8!important}.vendor-tone-9{background:#eef8f8!important}.vendor-tone-10{background:#fff4ed!important}.vendor-tone-11{background:#f1f3f8!important}.vendor-tone-12{background:#f8f7e9!important}

/* Ngân sách Vendor: cùng planner_task_payments với dòng Đặt dịch vụ Vendor. */
.pkg2-budget-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.pkg2-budget-card{overflow:hidden;border:1px solid rgba(65,84,106,.14)}
.pkg2-budget-main{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(130px,.65fr) minmax(175px,.85fr) minmax(115px,.55fr) auto;gap:14px;align-items:center;padding:16px}
.pkg2-budget-main>*{min-width:0}
.pkg2-budget-main h3{margin:3px 0 2px;font-size:17px;color:var(--pkg2-ink);overflow-wrap:anywhere}
.pkg2-budget-main p{margin:0;color:var(--pkg2-muted);font-size:13px;overflow-wrap:anywhere}
.pkg2-budget-main>div:not(:first-child){display:flex;flex-direction:column;gap:3px}
.pkg2-budget-main>div>span{font-size:12px;color:var(--pkg2-muted)}
.pkg2-budget-main>div>b{font-size:14px;color:var(--pkg2-ink);overflow-wrap:anywhere}
.pkg2-vendor-index{display:inline-flex;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.68);font-size:10px!important;font-weight:850;letter-spacing:.08em;color:#586579!important}
.pkg2-budget-focus{outline:3px solid rgba(31,94,146,.22);outline-offset:2px}
.pkg2-budget-details{border-top:1px solid rgba(65,84,106,.14);background:rgba(255,255,255,.56)}
.pkg2-budget-details>summary{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;cursor:pointer;list-style:none;font-size:13px}
.pkg2-budget-details>summary::-webkit-details-marker{display:none}
.pkg2-budget-details>summary span{font-weight:800;color:var(--pkg2-ink)}
.pkg2-budget-details>summary b{color:var(--pkg2-muted);font-size:12px;text-align:right}
.pkg2-installments{display:flex;flex-direction:column;gap:8px;padding:0 16px 16px}
.pkg2-installment{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(160px,.75fr) minmax(115px,.5fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid rgba(70,87,106,.13);border-radius:10px;background:rgba(255,255,255,.75)}
.pkg2-installment>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.pkg2-installment b{font-size:13px;overflow-wrap:anywhere}.pkg2-installment span{font-size:12px;color:var(--pkg2-muted);overflow-wrap:anywhere}
.pkg2-inline-actions{flex-direction:row!important;justify-content:flex-end;gap:6px!important}
.pkg2-empty-inline{padding:12px;color:var(--pkg2-muted);font-style:italic}
.pkg2-other-budget{margin-top:16px}.pkg2-other-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pkg2-other-grid>div{display:flex;flex-direction:column;padding:10px;border:1px solid var(--pkg2-border);border-radius:10px}.pkg2-other-grid span{font-size:12px;color:var(--pkg2-muted)}

/* Panel chi tiết gọn: checklist, link, file, lịch sử đóng/mở theo nhu cầu. */
.drawer-card{width:min(660px,94vw)}
.pkg2-task-drawer{gap:12px}.pkg2-task-description{margin:7px 0 0;white-space:pre-wrap;color:#45546a}
.pkg2-chip-row{display:flex;gap:6px;flex-wrap:wrap}.pkg2-task-facts>div{padding:10px;border:1px solid var(--pkg2-border);border-radius:10px;display:flex;flex-direction:column;gap:4px}
.pkg2-collapsible{border:1px solid var(--pkg2-border);border-radius:11px;background:#fff;overflow:hidden}
.pkg2-collapsible>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;padding:12px 14px;font-weight:800;list-style:none;background:#f7f9fb}
.pkg2-collapsible>summary::-webkit-details-marker{display:none}.pkg2-collapsible>summary b{font-size:12px;color:var(--pkg2-muted)}
.pkg2-collapsible>div{padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.pkg2-check{display:flex;gap:8px;align-items:flex-start}.pkg2-resource-row,.pkg2-history-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(81,98,118,.12)}
.pkg2-resource-row:last-child,.pkg2-history-row:last-child{border-bottom:0}.pkg2-resource-row>div,.pkg2-history-row{min-width:0}.pkg2-resource-row span,.pkg2-history-row span{font-size:12px;color:var(--pkg2-muted);overflow-wrap:anywhere}.pkg2-resource-row a{overflow-wrap:anywhere}
.pkg2-drawer-actions{display:flex;gap:8px;flex-wrap:wrap}

/* Form tiền: người dùng thấy 100.000, API nhận số. */
[data-pkg2-money]{font-variant-numeric:tabular-nums;font-weight:700}
.money-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em}

@media(max-width:1280px){
  .pkg2-master-head,.pkg2-master-row{grid-template-columns:minmax(225px,1.55fr) 100px 78px 104px minmax(205px,1.2fr) 38px;gap:7px;padding-left:9px;padding-right:9px}
  .pkg2-master-title-copy b{font-size:13px}.pkg2-master-cell b{font-size:12px}
  .pkg2-budget-main{grid-template-columns:minmax(190px,1.2fr) minmax(118px,.6fr) minmax(160px,.8fr) minmax(105px,.5fr) auto;gap:9px;padding:13px}
}
@media(max-width:1050px){
  .pkg2-master-head{display:none}.pkg2-master-row{grid-template-columns:minmax(230px,1.5fr) minmax(105px,.6fr) minmax(110px,.65fr) minmax(200px,1.1fr) 38px}.pkg2-master-row>.pkg2-owner-cell{display:none}
  .pkg2-budget-main{grid-template-columns:minmax(220px,1.2fr) repeat(2,minmax(135px,.7fr));}.pkg2-budget-main>.chip,.pkg2-budget-main>button{justify-self:start}
  .pkg2-installment{grid-template-columns:minmax(180px,1fr) minmax(145px,.75fr) minmax(110px,.55fr)}.pkg2-inline-actions{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:760px){
  .pkg2-master-row{grid-template-columns:1fr 36px;gap:6px}.pkg2-master-row>.pkg2-master-cell,.pkg2-master-row>.pkg2-master-status{grid-column:1}.pkg2-master-actions{grid-column:2;grid-row:1}
  .pkg2-budget-main{grid-template-columns:1fr}.pkg2-installment{grid-template-columns:1fr}.pkg2-other-grid{grid-template-columns:1fr}.pkg2-project-select{min-width:0;width:100%}
}

/* Mapping với cấu trúc cây hiện hành của Planner. */
.pkg2-master-row .tree-title{display:flex;align-items:flex-start;gap:7px;min-width:0}
.pkg2-master-row .tree-title-copy{min-width:0;display:flex;flex-direction:column;gap:3px;cursor:pointer}
.pkg2-master-row .tree-title-copy b{font-size:14px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;color:var(--pkg2-ink)}
.pkg2-master-row .tree-title-copy small{font-size:12px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;color:var(--pkg2-muted)}
.pkg2-master-row .tree-indent{flex:0 0 auto}
.pkg2-master-row .tree-caret{flex:0 0 26px}
.pkg2-master-row .pkg2-owner,.pkg2-master-row .pkg2-deadline,.pkg2-master-row .pkg2-finance-cell{min-width:0;font-size:13px;overflow-wrap:anywhere}
.pkg2-master-row .pkg2-owner,.pkg2-master-row .pkg2-deadline{display:flex;flex-direction:column;gap:3px}
.pkg2-master-row .pkg2-vendor-finance{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 9px;align-items:start}
.pkg2-master-row .pkg2-vendor-finance>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.pkg2-master-row .pkg2-vendor-finance b{font-size:12px;overflow-wrap:anywhere}.pkg2-master-row .pkg2-vendor-finance span{font-size:11px;color:var(--pkg2-muted);overflow-wrap:anywhere}
.pkg2-master-row .pkg2-vendor-finance .pkg2-budget-link{grid-column:1/-1;justify-self:start;padding:4px 7px}
.pkg2-master-row .pkg2-vendor-name{font-size:12px;font-weight:800;color:#536176}
.pkg2-master-row .tree-actions{display:flex;justify-content:flex-end}
.pkg2-source-note{margin-top:10px;padding:10px 12px;border-radius:10px;background:#f6f8fb;color:#5b687c;font-size:12px;overflow-wrap:anywhere}
@media(max-width:1050px){.pkg2-master-row .pkg2-owner{display:none}.pkg2-master-row .pkg2-vendor-finance{grid-template-columns:1fr}}
