:root{
  --tb-bg:#f3f6fb;
  --tb-surface:#ffffff;
  --tb-ink:#132239;
  --tb-muted:#718096;
  --tb-line:#e6ebf2;
  --tb-primary:#1756c1;
  --tb-primary-2:#0f3d91;
  --tb-navy:#0b1f3a;
  --tb-green:#16a36a;
  --tb-amber:#d68b16;
  --tb-red:#d84a4a;
}
html,body{background:var(--tb-bg)}
body{font-family:"Cairo",Tahoma,Arial,sans-serif;color:var(--tb-ink);font-size:14px}
.tabyan-app{min-height:100vh}
.tabyan-sidebar{background:linear-gradient(180deg,#10294a 0%,#0d213d 58%,#0a1a31 100%);border:0;width:248px;box-shadow:10px 0 34px rgba(11,31,58,.09)}
.tabyan-sidebar .container-fluid{padding:18px 14px}
.tabyan-sidebar .navbar-brand{height:auto;min-height:72px;padding:10px 8px 20px;display:flex;gap:12px;align-items:center}
.brand-mark{width:42px;height:42px;border-radius:8px;background:linear-gradient(145deg,#2c6fd8,#1d88b8);display:grid;place-items:center;font-size:22px;font-weight:800;box-shadow:0 8px 18px rgba(31,95,174,.2)}
.brand-copy{display:flex;flex-direction:column;line-height:1.35}.brand-copy strong{font-size:16px}.brand-copy span{font-size:11px;opacity:.55;letter-spacing:.08em;text-transform:uppercase}
.tabyan-sidebar .nav-link{border-radius:8px;margin:3px 0;padding:11px 12px;color:#b9c5d7;gap:10px;transition:.18s ease}
.tabyan-sidebar .nav-link:hover{background:rgba(255,255,255,.06);color:#fff;transform:translateX(-2px)}
.tabyan-sidebar .nav-link.active{background:linear-gradient(90deg,rgba(83,142,235,.22),rgba(83,142,235,.08));color:#fff;box-shadow:inset -3px 0 #70a8ff}
.tabyan-sidebar .nav-link-icon{width:24px;margin:0;color:currentColor}.tabyan-sidebar .nav-link-title{font-weight:650}
.locked-dot{opacity:.48}
.sidebar-footer{margin-top:28px;padding:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:12px;color:#d9e3f0}

.page-wrapper{background:var(--tb-bg);min-height:100vh}
.topbar{height:100px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(25,48,77,.06);background:rgba(247,249,252,.88);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}
.topbar h1{font-size:25px;line-height:1.2;margin:2px 0 4px;font-weight:800;letter-spacing:-.02em}.topbar p{margin:0;color:var(--tb-muted);font-size:12.5px}
.eyebrow{font-size:9px;letter-spacing:.18em;color:#8b98aa;font-weight:700}
.topbar-actions{display:flex;align-items:center;gap:12px}.status-pill{background:#fff;border:1px solid var(--tb-line);border-radius:999px;padding:8px 12px;font-size:11px;font-weight:700;color:#4c5d74;box-shadow:0 3px 14px rgba(18,38,63,.03)}.status-pill span{display:inline-block;width:7px;height:7px;background:#20b276;border-radius:50%;margin-left:6px;box-shadow:0 0 0 4px rgba(32,178,118,.11)}
.topbar .avatar{background:linear-gradient(145deg,#123c82,#2670d7);color:#fff;font-weight:800}

.page-body{padding:0;margin:0}.tabyan-container{padding:26px 34px 44px;max-width:1680px}
.hero-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.hero-row h2{margin:0;font-size:18px;font-weight:800}.hero-row p{margin:4px 0 0;color:var(--tb-muted);font-size:12px}
.btn-tabyan{background:#1756c1;border:0;color:#fff;border-radius:10px;padding:10px 16px;font-weight:700;box-shadow:none}.btn-tabyan:hover{color:#fff;filter:brightness(1.03)}

.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}
.kpi-card{background:var(--tb-surface);border:1px solid var(--tb-line);border-radius:14px;padding:17px 18px;box-shadow:0 6px 18px rgba(20,42,70,.04);position:relative;overflow:hidden}
.kpi-card:after{content:"";position:absolute;inset:auto -38px -48px auto;width:112px;height:112px;border-radius:50%;background:var(--glow,#eaf1ff);opacity:.38;filter:blur(2px)}
.kpi-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.kpi-label{font-size:12px;color:#75849a;font-weight:650}.kpi-icon{width:34px;height:34px;border-radius:14px;display:grid;place-items:center;background:var(--icon-bg,#edf3ff);color:var(--icon-fg,#2767ca)}
.kpi-value{font-size:26px;font-weight:800;letter-spacing:-.03em;position:relative;z-index:2}.kpi-sub{font-size:10.5px;color:#95a1b1;margin-top:5px;position:relative;z-index:2}
.kpi-card.green{--icon-bg:#eaf8f2;--icon-fg:#159266;--glow:#e5f8f0}.kpi-card.amber{--icon-bg:#fff6e7;--icon-fg:#c47a10;--glow:#fff3dc}.kpi-card.purple{--icon-bg:#f2edff;--icon-fg:#7656d6;--glow:#efe8ff}

.content-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:14px}
.panel{background:#fff;border:1px solid var(--tb-line);border-radius:14px;box-shadow:0 6px 18px rgba(20,42,70,.035);overflow:hidden}.panel-header{padding:17px 18px;border-bottom:1px solid #edf1f6;display:flex;align-items:center;justify-content:space-between}.panel-title{font-size:14px;font-weight:800;margin:0}.panel-sub{font-size:10.5px;color:#8a98aa;margin-top:3px}.panel-body{padding:18px}
.tabyan-table{margin:0}.tabyan-table thead th{font-size:10.5px;color:#8a97a9;font-weight:700;border-bottom:1px solid #e9edf3;padding:11px 14px;background:#fbfcfe}.tabyan-table tbody td{padding:13px 14px;border-bottom:1px solid #f0f3f7;vertical-align:middle}.tabyan-table tbody tr:last-child td{border-bottom:0}.tabyan-table tbody tr:hover{background:#fbfdff}
.project-name{font-weight:750;color:#172b48}.muted-text{color:#8a98aa;font-size:11px}.status-badge{font-size:10.5px;font-weight:700;border-radius:999px;padding:5px 9px;background:#eef3fa;color:#51647c}.status-badge.completed{background:#e9f8f1;color:#0d8b5a}.status-badge.purchasing{background:#fff4df;color:#a66a08}.status-badge.approved{background:#eaf1ff;color:#1756c1}
.empty-state{padding:54px 20px;text-align:center}.empty-state .empty-icon{width:58px;height:58px;border-radius:17px;background:#f2f6fb;display:grid;place-items:center;color:#7590b2;margin:0 auto 14px}.empty-state h3{font-size:14px;margin:0 0 5px;font-weight:800}.empty-state p{font-size:11.5px;color:#8a98aa;margin:0 0 14px}

.finance-card{background:linear-gradient(155deg,#12345f 0%,#0b213e 100%);color:#fff;border:0;box-shadow:0 10px 28px rgba(11,31,58,.13)}.finance-card .panel-header{border-color:rgba(255,255,255,.08)}.finance-card .panel-sub{color:rgba(255,255,255,.5)}.finance-metric{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08)}.finance-metric:last-child{border:0}.finance-metric span{font-size:10.5px;color:rgba(255,255,255,.58)}.finance-metric b{display:block;font-size:22px;margin-top:3px;letter-spacing:-.03em}.finance-lock{display:inline-flex;align-items:center;gap:5px;font-size:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:5px 8px;color:#d8e4f5}

.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search-box{position:relative;min-width:270px}.search-box svg{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#8a98aa}.search-box input{padding-right:40px;border-radius:14px;border-color:var(--tb-line);height:40px}.filter-select{height:40px;border-radius:14px;border-color:var(--tb-line);min-width:145px}
.section-card{background:#fff;border:1px solid var(--tb-line);border-radius:14px;box-shadow:0 7px 22px rgba(20,42,70,.04);overflow:hidden}
.table-actions{display:flex;gap:6px}.icon-btn{width:32px;height:32px;border:1px solid var(--tb-line);border-radius:9px;background:#fff;display:grid;place-items:center;color:#65758a;text-decoration:none}.icon-btn:hover{background:#f7f9fc;color:#1c5bc3}
.modal-content{border:0;border-radius:18px;box-shadow:0 24px 80px rgba(16,37,66,.18)}.modal-header,.modal-footer{border-color:#edf1f6}.form-label{font-size:11.5px;font-weight:700;color:#52637a}.form-control,.form-select{border-radius:14px;border-color:#dfe5ed;min-height:42px}.form-control:focus,.form-select:focus{border-color:#5c8fe4;box-shadow:0 0 0 .2rem rgba(40,100,200,.09)}

@media(max-width:991px){.tabyan-sidebar{width:100%}.topbar{height:auto;min-height:82px;padding:16px 18px}.tabyan-container{padding:18px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.topbar-actions .status-pill{display:none}}
@media(max-width:575px){.kpi-grid{grid-template-columns:1fr}.hero-row{align-items:flex-start;flex-direction:column}.toolbar{width:100%}.search-box{min-width:100%;width:100%}.filter-select{flex:1}.tabyan-container{padding:14px}.topbar h1{font-size:21px}}

/* RTL control fixes */
.hero-row .btn-tabyan,
.modal-footer .btn-tabyan{
  opacity:1!important;
  visibility:visible!important;
}
.btn-tabyan:hover,.btn-tabyan:focus,.btn-tabyan:active{
  color:#fff!important;
  background:linear-gradient(135deg,#2368d7,#1654b7)!important;
  box-shadow:0 8px 18px rgba(23,86,193,.2)!important;
  transform:translateY(-1px);
}
.btn-outline-primary:hover{
  color:#fff!important;
}
.form-select{
  background-position:left .85rem center!important;
  padding-left:2.6rem!important;
  padding-right:.9rem!important;
  text-align:right;
}
.toolbar{
  align-items:stretch;
}
.toolbar .search-box{
  flex:1 1 390px;
  min-width:360px;
  max-width:620px;
}
.search-box input{
  width:100%;
  min-width:0;
  padding-right:42px!important;
  padding-left:14px!important;
}
.search-box input::placeholder{
  color:#8b98aa;
  opacity:1;
  font-size:12px;
}
.toolbar .filter-select{
  flex:0 0 180px;
  min-width:180px;
}
.toolbar .btn{
  min-width:72px;
}
@media(max-width:760px){
  .toolbar .search-box{min-width:100%;max-width:none}
  .toolbar .filter-select{flex:1 1 180px}
}

.project-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.back-link{font-size:11px;color:#718096;text-decoration:none;display:inline-block;margin-bottom:6px}
.project-title-row{display:flex;align-items:center;gap:10px}.project-title-row h2{margin:0;font-size:22px;font-weight:800}
.project-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;color:#7b889a;font-size:11px}
.project-tabs{display:flex;gap:4px;border-bottom:1px solid #dfe6ef;margin-bottom:16px;overflow:auto}
.project-tabs a{padding:10px 13px;color:#62738a;text-decoration:none;font-size:12px;font-weight:700;border-bottom:2px solid transparent;white-space:nowrap}
.project-tabs a.active{color:#1756c1;border-bottom-color:#1756c1}
.project-tabs span{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#edf3fb;font-size:9px;margin-right:4px}
.project-section{display:none}.project-section.active{display:block}
.project-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.summary-tile{background:#fff;border:1px solid var(--tb-line);border-radius:12px;padding:16px;box-shadow:0 5px 14px rgba(20,42,70,.035)}
.summary-tile span{display:block;font-size:11px;color:#7a899c;margin-bottom:7px}.summary-tile strong{font-size:20px}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.doc-list,.info-list{padding:6px 18px 14px}
.doc-list>div,.info-list>div{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eef2f6}
.doc-list>div:last-child,.info-list>div:last-child{border-bottom:0}.doc-list span,.info-list span{font-size:11px;color:#77869a}.doc-list b,.info-list b{font-size:12px}
.empty-compact{padding:34px 18px;text-align:center;color:#7b899b;font-size:12px}
.finance-inline{padding:16px;margin:0}.finance-inline .summary-tile{box-shadow:none;background:#fbfcfe}
@media(max-width:900px){.project-summary-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:1fr}.project-head{flex-direction:column}}
@media(max-width:520px){.project-summary-grid{grid-template-columns:1fr}}

.project-summary-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.project-summary-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.summary-tile small{display:block;margin-top:6px;color:#8a98aa;font-size:10px}
.summary-tile .estimate-note{color:#a66a08;font-weight:700}
.doc-link{color:#174f9e;text-decoration:none;font-weight:750}
.doc-link:hover{text-decoration:underline}
.activity-list{padding:4px 18px 12px}
.activity-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #eef2f6}
.activity-row:last-child{border-bottom:0}
.activity-row span{font-size:12px;color:#2d405b}.activity-row time{font-size:10.5px;color:#8a98aa;white-space:nowrap}
.primary-value{border-color:#dbe7fb;background:linear-gradient(180deg,#fff,#fbfdff)}
@media(max-width:1200px){.project-summary-grid.five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.project-summary-grid.five,.project-summary-grid.three{grid-template-columns:1fr}}

.strong-back{font-size:12px;font-weight:700;color:#1756c1;margin-bottom:8px}
.strong-back:hover{color:#0f3d91}
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:6px 18px 16px}
.info-grid>div{padding:13px 0;border-bottom:1px solid #eef2f6}
.info-grid>div:nth-last-child(-n+2){border-bottom:0}
.info-grid>div.full{grid-column:1/-1}
.info-grid span{display:block;font-size:10.5px;color:#7f8da0;margin-bottom:5px}
.info-grid b{font-size:12.5px;color:#1d304c;font-weight:700}
@media(max-width:700px){.info-grid{grid-template-columns:1fr}.info-grid>div{border-bottom:1px solid #eef2f6!important}.info-grid>div:last-child{border-bottom:0!important}}

.clickable-row{cursor:pointer}
.clickable-row:hover{background:#f8fbff!important}
.icon-btn.danger{color:#d84a4a;border-color:#f0d2d2}
.icon-btn.danger:hover{background:#fff1f1;color:#bd2d2d}
.table-actions form{margin:0}
.document-actions{display:flex;gap:8px;flex-wrap:wrap}
.print-document{background:#fff}
.document-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid #edf1f6}
.document-header h2{margin:0;font-size:20px}
.document-meta{display:flex;gap:14px;flex-wrap:wrap;color:#7b889a;font-size:11px;margin-top:7px}
.attachment-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-top:1px solid #eef2f6;background:#fbfcfe}
@media print{
  .tabyan-sidebar,.topbar,.no-print,.document-actions,.back-link{display:none!important}
  .page-wrapper,.page-body,.tabyan-container{margin:0!important;padding:0!important;background:#fff!important}
  .section-card,.summary-tile,.print-document{box-shadow:none!important;border-color:#ddd!important}
  body{background:#fff!important}
}

.statement-output{position:absolute;left:-10000px;top:0;width:760px;background:#fff;padding:0}
.statement-table{width:100%;border-collapse:collapse;font-family:"Cairo",Tahoma,Arial,sans-serif;font-size:13px}
.statement-table th,.statement-table td{border:1px solid #222;padding:8px 10px;text-align:right}
.statement-table th:last-child,.statement-table td:last-child{width:120px;text-align:center}
@media print{
  .statement-output{position:static;left:auto;width:100%;padding:0}
}

.finance-unlock-wrap{min-height:55vh;display:grid;place-items:center}
.finance-unlock-card{width:min(420px,100%)}
