/* ==========================================================================
   الخطط المالية — تخطيط مستقل لا يدخل في الحسابات الفعلية
   ========================================================================== */

.plans-hero{display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:12px;}
.plans-hero h3{font-size:18px; color:var(--ink); letter-spacing:-.2px;}
.plans-hero p{font-size:12px; color:var(--muted); margin-top:3px;}
.plans-toolbar{
  display:flex; gap:7px; align-items:center; flex-wrap:wrap; margin:8px 0 12px;
}
.plans-toolbar input,.plans-toolbar select{
  min-height:38px; border:1px solid var(--line); border-radius:12px; background:var(--card);
  color:var(--ink); font-family:inherit; font-size:13px; padding:7px 10px; min-width:0;
}
.plans-toolbar input{flex:1 1 135px;}
.plans-toolbar select{flex:0 1 118px;}
.plans-list{display:grid; gap:7px;}
.plan-card{
  border:1px solid var(--line); background:var(--card); border-radius:16px; padding:12px;
  box-shadow:var(--shadow-sm); display:grid; gap:9px;
}
.plan-card.archived{opacity:.68;}
.plan-card.plan-strip{
  min-height:74px; padding:9px 10px; border-radius:15px; display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(82px,.8fr) minmax(82px,.8fr) auto auto;
  align-items:center; gap:7px; cursor:pointer;
}
.plan-strip-main,.plan-strip-mid,.plan-strip-out{min-width:0;}
.plan-strip-main b{display:block; color:var(--ink); font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.plan-strip-main span,.plan-strip-mid span,.plan-strip-out span,.plan-strip-mid small,.plan-strip-out small{
  display:block; color:var(--muted); font-size:10.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.plan-strip-mid b,.plan-strip-out b{display:block; font-size:13.5px; direction:ltr; font-variant-numeric:tabular-nums; white-space:nowrap;}
.plan-strip-out.finance-positive b{color:var(--pos);}
.plan-strip-out.finance-negative b{color:var(--danger);}
.plan-strip-out.finance-neutral b{color:#475569;}
.plan-strip .plan-badge{min-height:24px; padding:3px 7px; font-size:10.5px;}
.plan-strip > em{font-style:normal; color:var(--muted); font-size:12px;}
.plan-strip-menu{position:relative;}
.plan-strip-menu summary{
  list-style:none; width:30px; height:30px; border:1px solid var(--line); background:var(--bg);
  border-radius:10px; display:flex; align-items:center; justify-content:center; color:var(--ink); cursor:pointer;
}
.plan-strip-menu summary::-webkit-details-marker{display:none;}
.plan-strip-menu > div{
  position:absolute; top:34px; inset-inline-start:0; z-index:5; min-width:118px; display:grid; gap:3px;
  background:#fff; border:1px solid var(--line); border-radius:12px; padding:5px; box-shadow:var(--shadow);
}
.plan-strip-menu button{border:none; background:transparent; border-radius:8px; padding:7px 8px; text-align:right; font-family:inherit; color:var(--ink); cursor:pointer;}
.plan-strip-menu button:hover{background:var(--bg);}
.plan-strip-menu button.danger{color:var(--danger);}
.plan-card-head{display:flex; justify-content:space-between; gap:10px; align-items:flex-start;}
.plan-card-title{min-width:0;}
.plan-card-title b{font-size:16px; color:var(--ink); display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.plan-card-title span{font-size:12px; color:var(--green-deep); font-weight:700;}
.plan-badge{
  min-height:28px; display:inline-flex; align-items:center; border-radius:999px; padding:4px 9px;
  background:var(--green-soft); color:var(--green-deep); font-size:12px; font-weight:700; white-space:nowrap;
}
.plan-badge.done{background:var(--pos-soft); color:var(--pos);}
.plan-badge.archived{background:var(--bg); color:var(--muted);}
.plan-card-stats{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px;}
.plan-stat{background:var(--bg); border-radius:12px; padding:8px 10px; min-width:0;}
.plan-stat span{display:block; font-size:13.5px; color:var(--ink); opacity:.74; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.plan-stat b{display:block; margin-top:2px; font-size:15px; font-variant-numeric:tabular-nums; color:var(--ink); direction:ltr;}
.plan-stat.bad b{color:var(--danger); font-weight:800;}
.plan-stat.ok b{color:var(--pos); font-weight:800;}
.plan-stat.finance-positive b{color:var(--pos); font-weight:800;}
.plan-stat.finance-negative b{color:var(--danger); font-weight:800;}
.plan-stat.finance-warning b{color:var(--warn); font-weight:800;}
.plan-stat.finance-neutral b{color:#475569; font-weight:750;}
.plan-card-meta{font-size:11.5px; color:var(--muted); display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap;}
.plan-actions{display:flex; gap:6px; flex-wrap:wrap;}
.plan-actions .btn{min-height:36px; padding:7px 10px; font-size:12px;}

.plan-detail-head{display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:10px;}
.plan-detail-title{min-width:0;}
.plan-detail-title h3{font-size:18px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.plan-detail-title p{font-size:12px; color:var(--muted); margin-top:2px;}
.plan-summary{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-bottom:10px;}
.plan-progress{height:9px; background:var(--green-soft); border-radius:999px; overflow:hidden; margin:8px 0 12px;}
.plan-progress i{display:block; height:100%; background:var(--green); border-radius:999px; transition:width .22s ease;}
.plan-alert{
  border-radius:14px; padding:9px 11px; margin-bottom:10px; font-size:12.5px; line-height:1.6;
  background:var(--gold-soft); color:#775F2D; border:1px solid rgba(199,162,84,.35);
}
.plan-alert.ok{background:var(--pos-soft); color:var(--pos); border-color:rgba(22,163,74,.28); font-weight:700;}
.plan-alert.bad{background:var(--danger-soft); color:var(--danger); border-color:rgba(225,29,72,.28); font-weight:700;}
.plan-item-list{display:grid; gap:5px;}
.plan-item-row{
  border:1px solid var(--line); background:var(--card); border-radius:14px; padding:9px 10px;
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; min-height:58px;
}
.plan-item-row.compact{
  grid-template-columns:minmax(0,1fr) auto auto 12px; min-height:46px; padding:7px 9px;
  border-radius:12px; cursor:pointer; gap:7px;
}
.plan-item-main{min-width:0;}
.plan-item-main b{display:block; font-size:13.5px; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.plan-item-main small{display:block; font-size:11px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:1px;}
.plan-item-money{display:flex; flex-direction:column; gap:2px; align-items:flex-end; font-variant-numeric:tabular-nums; direction:ltr;}
.plan-item-money b{font-size:13.5px; color:var(--green-deep);}
.plan-item-money span{font-size:11px; color:var(--muted);}
.plan-item-row.compact > em{font-style:normal; color:var(--muted); font-size:11px;}
.plan-item-meta{display:flex; gap:5px; flex-wrap:wrap; margin-top:5px;}
.plan-pill{font-size:10.5px; border-radius:999px; background:var(--bg); color:var(--muted); padding:2px 7px; white-space:nowrap;}
.plan-pill.pr-need{background:var(--danger-soft); color:var(--danger);}
.plan-pill.pr-important{background:var(--gold-soft); color:var(--warn);}
.plan-pill.pr-optional{background:var(--green-soft); color:var(--green-deep);}
.plan-pill.finance-positive{background:var(--pos-soft); color:var(--pos); font-weight:800;}
.plan-pill.finance-negative{background:var(--danger-soft); color:var(--danger); font-weight:800;}
.plan-pill.finance-warning{background:var(--warn-soft); color:var(--warn); font-weight:800;}
.plan-mini-actions{display:flex; gap:3px; align-items:center; justify-content:flex-end;}
.plan-mini-actions button{
  width:30px; height:30px; border:1px solid var(--line); background:var(--bg); border-radius:9px;
  color:var(--muted); font-family:inherit; cursor:pointer; padding:0;
}

.plan-choice-grid{display:grid; gap:8px; margin:8px 0 12px;}
.plan-choice-grid button,.plan-template-grid button{
  border:1px solid var(--line); background:var(--bg); color:var(--ink); border-radius:14px; padding:12px;
  text-align:right; font-family:inherit; cursor:pointer; min-height:58px;
}
.plan-choice-grid button.on,.plan-template-grid button.on{border-color:var(--green); background:var(--green-soft);}
.plan-choice-grid b,.plan-template-grid b{display:block; font-size:14px; margin-bottom:2px;}
.plan-choice-grid span,.plan-template-grid span{display:block; color:var(--muted); font-size:11.5px; line-height:1.5;}
.plan-template-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:7px;}

.plan-form-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px;}
.plan-form-grid label,.plan-full{display:flex; flex-direction:column; gap:4px; font-size:12px; color:var(--muted); font-weight:600;}
.plan-form-grid .wide,.plan-full{grid-column:1 / -1;}
.plan-form-grid input,.plan-form-grid select,.plan-form-grid textarea,.plan-full input,.plan-full select,.plan-full textarea{
  width:100%; min-height:40px; border:1px solid var(--line); border-radius:12px; background:var(--bg);
  color:var(--ink); font-family:inherit; font-size:14px; padding:8px 10px;
}
.plan-form-grid textarea,.plan-full textarea{min-height:74px; resize:vertical;}
.plan-simple-form{grid-template-columns:1fr;}
.plan-item-topbar{display:flex; justify-content:flex-end; margin-bottom:8px;}
.plan-item-topbar .btn{min-width:96px;}
.plan-extra-details{
  margin:8px 0; border:1px solid var(--line); background:var(--bg); border-radius:13px; padding:7px 9px;
}
.plan-extra-details summary{list-style:none; cursor:pointer; color:var(--green-deep); font-size:12px; font-weight:700;}
.plan-extra-details summary::-webkit-details-marker{display:none;}
.plan-extra-details summary::before{content:'▾ '; color:var(--muted); font-size:10px;}
.plan-extra-details:not([open]) > :not(summary){display:none;}
.plan-alert.compact{padding:7px 9px; margin-bottom:8px; font-size:12px;}

.plan-manage-list{display:grid; gap:7px; margin:8px 0 12px;}
.plan-manage-row{
  display:grid; grid-template-columns:1fr auto auto auto; gap:6px; align-items:center;
  border:1px solid var(--line); background:var(--bg); border-radius:12px; padding:7px;
}
.plan-manage-row input{min-width:0; border:1px solid var(--line); border-radius:10px; padding:8px; font-family:inherit;}
.plan-manage-row button{min-width:34px; min-height:34px; border:1px solid var(--line); background:#fff; border-radius:10px; color:var(--muted);}
.plan-report-shell{display:none;}

@media (max-width:420px){
  .plan-card.plan-strip{grid-template-columns:minmax(0,1fr) minmax(70px,.7fr) minmax(78px,.75fr) 28px 10px; min-height:72px; gap:5px;}
  .plan-strip .plan-badge{display:none;}
  .plan-strip-mid b,.plan-strip-out b{font-size:12.8px;}
  .plan-item-row.compact{grid-template-columns:minmax(0,1fr) auto auto 10px;}
  .plan-mini-actions button{width:28px; height:28px;}
  .plan-card-stats,.plan-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
  .plan-form-grid{grid-template-columns:1fr;}
  .plan-template-grid{grid-template-columns:1fr;}
  .plans-toolbar select{flex:1 1 105px;}
}

@media print{
  body.print-plan .app,
  body.print-plan nav.tabs,
  body.print-plan .modal-overlay,
  body.print-plan #ptr,
  body.print-plan #stmt{display:none !important;}
  body.print-plan{background:#fff; color:#111; overscroll-behavior:auto;}
  body.print-plan .plan-report-shell{display:block !important;}
  .plan-report-page{
    direction:rtl; width:210mm; min-height:297mm; margin:0 auto; padding:14mm 12mm;
    background:#fff; color:#111; font-family:'IBM Plex Sans Arabic','Segoe UI',Tahoma,sans-serif;
  }
  .plan-report-head{display:flex; justify-content:space-between; border-bottom:2px solid #d9e5ed; padding-bottom:8mm; margin-bottom:7mm;}
  .plan-report-head h1{font-size:22pt; margin:0 0 3mm;}
  .plan-report-head p{font-size:10pt; color:#555; margin:1mm 0;}
  .plan-report-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:3mm; margin:5mm 0;}
  .plan-report-card{border:1px solid #d9e5ed; border-radius:4mm; padding:3mm;}
  .plan-report-card span{display:block; font-size:8pt; color:#555;}
  .plan-report-card b{display:block; font-size:11pt; margin-top:1mm;}
  .plan-report-page table{width:100%; border-collapse:collapse; min-width:0; margin:4mm 0 6mm; page-break-inside:auto;}
  .plan-report-page th,.plan-report-page td{border:1px solid #d9e5ed; padding:2mm; font-size:8.5pt; text-align:right;}
  .plan-report-page th{background:#eef6fb; color:#222;}
  .plan-report-page thead{display:table-header-group;}
  .plan-report-page tr{break-inside:avoid; page-break-inside:avoid;}
  .plan-report-page h2{font-size:13pt; margin:6mm 0 2mm; color:#222;}
  @page{size:A4; margin:10mm;}
}
