﻿@font-face{font-family:'Vazirmatn';src:url('/fonts/vazirmatn-arabic.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'Vazirmatn';src:url('/fonts/vazirmatn-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--ink:#172b4d;--muted:#748198;--navy:#101d35;--blue:#246bfd;--line:#e7ebf2;--canvas:#f4f7fb;--green:#14a879}
html{font-size:14px;min-height:100%;background:var(--canvas)}
body{margin:0;color:var(--ink);background:var(--canvas);font-family:'Vazirmatn',Tahoma,sans-serif;font-feature-settings:'ss01';min-height:100vh;display:flex;flex-direction:column}
.app-header{background:var(--navy);color:white;box-shadow:0 4px 20px #101d351c}
.app-nav{height:76px;display:flex;align-items:center;gap:42px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;font-size:17px;white-space:nowrap}
.brand small{display:block;color:#aab7ce;font-size:10px;font-weight:400;margin-top:1px}
.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#246bfd;color:white;font-size:22px;box-shadow:0 5px 15px #246bfd55}
.app-nav nav{display:flex;align-items:center;gap:6px;height:100%}
.app-nav .nav-link{color:#bdc7d8;text-decoration:none;border-radius:9px;padding:10px 15px;font-size:13px;transition:.2s}
.app-nav .nav-link:hover,.app-nav .nav-link.active{color:#fff;background:#ffffff14}
.header-status{margin-right:auto;color:#c6d2e3;font-size:11px;display:flex;align-items:center;gap:8px}
.header-status i{width:7px;height:7px;background:#35d39a;border-radius:50%;box-shadow:0 0 0 4px #35d39a25}
.app-main{width:100%;padding-top:38px;padding-bottom:55px;flex:1}
h1,h2,h3{font-weight:700;color:var(--ink)}
.text-muted{color:var(--muted)!important}
.card{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 18px #172b4d08!important}
.card-body{padding:22px}
.form-label{font-size:12px;font-weight:600;color:#495873;margin-bottom:8px}
.form-control,.form-select{min-height:43px;border-color:#dfe5ee;border-radius:9px;font-size:13px;color:var(--ink)}
.form-control:focus,.form-select:focus{border-color:#8db1ff;box-shadow:0 0 0 3px #246bfd18}
.btn{border-radius:9px;font-size:12px;font-weight:600;padding:10px 16px}
.btn-primary{background:var(--blue);border-color:var(--blue);box-shadow:0 4px 10px #246bfd25}
.btn-primary:hover{background:#1559e8;border-color:#1559e8}
.badge{padding:8px 12px;border:1px solid var(--line);font-weight:600;color:#52627b!important}
.page-tabs{display:flex;gap:5px;padding:5px;background:#e9eef6;border-radius:12px;width:max-content;max-width:100%;margin-bottom:20px}
.page-tab{border:0;background:transparent;color:#63718a;padding:10px 20px;border-radius:9px;font:600 12px 'Vazirmatn',Tahoma,sans-serif;white-space:nowrap;transition:.2s}
.page-tab:hover{color:var(--blue)}
.page-tab.active{background:#fff;color:var(--blue);box-shadow:0 2px 8px #172b4d12}
.tab-panel[hidden]{display:none!important}
.update-pivot th,.update-pivot td{padding:12px 14px;min-width:112px}
.update-pivot .pivot-label{position:sticky;right:0;z-index:1;background:#f8f9fa;min-width:150px}
.update-pivot thead .pivot-label{z-index:2}
.update-time{font-size:11px;color:#52627b}
.table-responsive{border-radius:14px}
.table{font-size:12px;color:#35445d}
.table>:not(caption)>*>*{padding:13px 14px;border-bottom-color:#edf0f5}
.table thead th{font-weight:600;font-size:11px;white-space:nowrap}
.table-dark{--bs-table-bg:#1b2b48;--bs-table-color:#eef3fb;--bs-table-border-color:#33435c}
.table-hover tbody tr:hover>*{--bs-table-bg-state:#f4f8ff}
.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-bg-type:#fafbfd}
.trades-page>div:first-child,.trades-page>form{animation:rise .35s ease both}
.trades-page .table-responsive{animation:rise .45s ease both}
.app-footer{padding:17px 0;color:#8b96a8;font-size:11px;border-top:1px solid var(--line);background:#fff}
.app-footer span{padding:0 6px;color:#c5ccd7}
.alert{border-radius:10px;font-size:13px}
@keyframes rise{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:575px){.app-nav{height:auto;min-height:70px;gap:12px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.brand{font-size:15px}.brand-mark{width:34px;height:34px}.app-nav nav{order:3;width:100%;height:auto}.app-nav .nav-link{padding:8px 11px}.header-status{font-size:10px}.app-main{padding-top:25px}.card-body{padding:16px}}

/* Financial dashboard styling */
:root{--ink:#15263f;--muted:#728198;--navy:#102039;--blue:#1877d2;--line:#e3eaf1;--canvas:#f2f6f9;--green:#079879;--red:#d84b5b}
body{background:radial-gradient(ellipse at 8% 0%,#e1f3ed 0,transparent 34%),var(--canvas)}
.app-header{background:linear-gradient(110deg,#0c1b31,#172d49);border-bottom:3px solid #0caa82;box-shadow:0 8px 24px #10203918}
.brand-mark{background:linear-gradient(145deg,#12b98c,#07866b);box-shadow:0 5px 15px #0aa67b40}
.app-nav .nav-link.active{color:#fff;background:#ffffff10;box-shadow:inset 0 -2px #22c59a;border-radius:9px 9px 0 0}
.header-status i{background:#29d5a3;box-shadow:0 0 0 4px #29d5a325}
.market-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:27px;padding:25px 28px;border:1px solid #e4eaf0;border-radius:17px;background:linear-gradient(115deg,#fff 0%,#f9fcfb 68%,#ecf8f3 100%);box-shadow:0 8px 24px #19304d08;position:relative;overflow:hidden}
.market-heading:after{content:"";position:absolute;left:-40px;bottom:-92px;width:240px;height:170px;border:1px solid #0da98216;border-radius:50%;box-shadow:0 0 0 18px #0da98208,0 0 0 38px #0da98205;pointer-events:none}
.market-heading h1{font-size:25px;margin:9px 0 4px;letter-spacing:-.5px}
.market-heading p{margin:0;color:var(--muted);font-size:12px}
.market-eyebrow{font-size:11px;font-weight:600;color:#0b9877;display:flex;align-items:center;gap:8px}
.market-eyebrow span{width:8px;height:8px;border-radius:50%;background:#0eaa81;box-shadow:0 0 0 4px #0eaa8118}
.market-eyebrow b{color:#b0bdc9}
.market-kpis{display:flex;align-items:stretch;gap:10px;z-index:1}
.market-kpi{min-width:112px;padding:11px 14px;border:1px solid #e8edf1;border-radius:11px;background:#ffffffc9;display:flex;flex-direction:column;gap:5px}
.market-kpi span{color:#8290a2;font-size:10px;white-space:nowrap}
.market-kpi strong{color:#19314c;font-size:17px;font-variant-numeric:tabular-nums}
.market-kpi-update{min-width:160px}
.market-kpi-update strong{font-size:11px;color:#0a9875;white-space:nowrap}
.page-tabs{background:#e8eef2;border:1px solid #e0e8ed;padding:4px;border-radius:11px}
.page-tab{padding:9px 17px;color:#65768a}
.page-tab:hover{color:#078b6d}
.page-tab.active{color:#087c63;box-shadow:0 2px 8px #18375012}
.card{border-color:#e3eaf0;box-shadow:0 5px 18px #19304d07!important}
.btn-primary{background:#078f70;border-color:#078f70;box-shadow:0 4px 10px #078f7020}
.btn-primary:hover{background:#06785f;border-color:#06785f}
.form-control:focus,.form-select:focus{border-color:#7dd6bd;box-shadow:0 0 0 3px #0eaa8118}
.table-responsive{box-shadow:0 6px 20px #19304d08}
.table{font-size:12px;font-variant-numeric:tabular-nums}
.table>:not(caption)>*>*{padding:12px 15px;border-bottom-color:#edf1f4}
.table thead th{font-size:10px;letter-spacing:.1px}
.table-dark{--bs-table-bg:#18304b;--bs-table-color:#e9f2f6;--bs-table-border-color:#29435d}
.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-bg-type:#f8fafb}
.table-hover tbody tr:hover>*{--bs-table-bg-state:#f0faf6}
.market-value{direction:ltr;text-align:left;font-variant-numeric:tabular-nums;color:#30425b}
.price-high{color:#07866b}
.price-low{color:#c25c62}
.market-positive{color:#07866b!important;font-weight:700}
.market-negative{color:#ce4657!important;font-weight:700}
.update-pivot .pivot-label{background:#f3f7f7;color:#38526a}
.update-time{display:inline-flex;align-items:center;gap:7px;color:#53677b;font-weight:500}
.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#12a77e;box-shadow:0 0 0 3px #12a77e18}
.asset-summary{display:flex;gap:7px;flex-wrap:wrap}
.asset-disabled-badge{background:#f1f3f6!important;border-color:#e3e7ec;color:#758195!important}
.data-table-tools{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;padding:15px 17px;margin-bottom:10px;border:1px solid #e3eaf0;border-radius:13px;background:#fff;box-shadow:0 4px 15px #19304d06}
.data-table-tools label{display:flex;flex-direction:column;gap:6px;margin:0;color:#728198;font-size:10px;font-weight:600}
.table-search{width:min(360px,100%)}
.data-table-tools .form-control,.data-table-tools .form-select{min-height:37px;font-size:12px}
.table-count{margin-right:auto;padding-bottom:9px;color:#52677c;font-size:11px;font-variant-numeric:tabular-nums}
.sortable{cursor:pointer;user-select:none}
.sortable:after{content:'↕';margin-right:7px;color:#9aabba;font-size:10px}
.sortable[data-sort="asc"]:after{content:'↑';color:#83dfc1}
.sortable[data-sort="desc"]:after{content:'↓';color:#83dfc1}
tr[hidden]{display:none!important}
.badge{background:#edf7f3!important;border-color:#d9eee6;color:#08795e!important}
.app-footer{background:#f8fafb;border-color:#e4ebef}
@media(max-width:767px){.market-heading{align-items:flex-start;flex-direction:column;padding:20px}.market-kpis{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.market-kpi-update{grid-column:span 2}.market-heading h1{font-size:22px}.data-table-tools{align-items:stretch}.table-search{width:100%}.table-count{width:100%;margin-right:0;padding-bottom:0}}

/* Larger type for comfortable reading across the dashboard and asset editor. */
html{font-size:16px}
.brand{font-size:19px}
.brand small{font-size:12px}
.app-nav .nav-link{font-size:15px}
.header-status{font-size:13px}
.form-label{font-size:14px}
.form-control,.form-select{font-size:15px}
.btn{font-size:14px}
.page-tab{font-size:14px}
.market-heading p{font-size:14px}
.market-eyebrow{font-size:13px}
.market-kpi span{font-size:12px}
.market-kpi-update strong{font-size:13px}
.table,.table.table{font-size:14px}
.table thead th{font-size:12px}
.update-time{font-size:13px}
.data-table-tools label{font-size:12px}
.data-table-tools .form-control,.data-table-tools .form-select{font-size:14px}
.table-count{font-size:13px}
.app-footer{font-size:13px}
@media(max-width:575px){.brand{font-size:17px}.header-status{font-size:12px}}
#trades-table thead{display:table-header-group}
#trades-table tbody td[data-label]{text-align:center;vertical-align:middle;padding:11px 9px}
#trades-table tbody td[data-label]::after{content:none}
#trades-table tbody td.trade-date{font-size:12px;white-space:nowrap}
.table-pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:14px;color:#52677c;font-size:14px}
.table-pagination[hidden]{display:none!important}
.table-pagination .btn{padding:7px 14px}
