*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(180deg,#f8fafc 0%,#eef2ff 100%);color:#1f2937;min-height:100vh;display:flex;flex-direction:column}
a{text-decoration:none}
.container{display:flex;min-height:0;flex:1}
.sidebar{width:280px;background:linear-gradient(180deg,var(--primary) 0%,#00005F 100%);color:#fff;padding:30px 20px;overflow-y:auto;max-height:100vh}
.sidebar-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.brand-logo{width:42px;height:42px;object-fit:contain;border-radius:8px;background:#fff;padding:4px}.sidebar h2{font-size:20px}
.menu-section{margin-bottom:22px}.menu-section-title{font-size:11px;text-transform:uppercase;opacity:.7;letter-spacing:1px;font-weight:700;margin-bottom:10px}
.menu-item{display:flex;align-items:center;gap:10px;padding:12px 15px;margin-bottom:8px;background:rgba(255,255,255,.1);border-radius:8px;color:#fff;border-left:3px solid transparent;transition:.25s}
.menu-item:hover{background:var(--accent);transform:translateX(4px)}.menu-item.active{background:var(--accent);font-weight:700;border-left-color:#fff}
.main{flex:1;padding:36px;overflow-y:auto;max-height:none;display:flex;flex-direction:column}.topbar{background:#fff;padding:20px;border-radius:12px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 12px rgba(0,0,0,.06)}.topbar h1{color:var(--primary);font-size:26px}
.user-info{display:flex;align-items:center;gap:14px}.user-avatar{width:44px;height:44px;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.user-name{font-weight:700}.user-role{font-size:12px;color:#6b7280}.logout-btn{background:#e74c3c;color:#fff;padding:10px 14px;border-radius:8px;font-weight:700}
.alert{padding:14px 16px;border-radius:10px;margin-bottom:20px}.alert-success{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alert-info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}
.content-box{background:#fff;padding:28px;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.05);margin-bottom:24px}.content-box h2{color:var(--primary);margin-bottom:20px;border-bottom:2px solid var(--accent);padding-bottom:12px}.content-box h3{color:var(--primary);margin:22px 0 14px}.content-box p{color:#6b7280;line-height:1.6;margin-bottom:15px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:28px}.stat-card{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;padding:28px;border-radius:12px;text-align:center;box-shadow:0 5px 18px rgba(0,0,139,.22)}.stat-card .number{font-size:30px;font-weight:700;margin:8px 0}.stat-card .label{font-size:13px;opacity:.92}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.btn,.btn-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;border:none;padding:10px 16px;border-radius:8px;font-weight:700;cursor:pointer;transition:.25s}.btn:hover,.btn-link:hover{opacity:.92;transform:translateY(-1px)}.btn-primary{background:var(--primary)}.btn-success{background:#16a34a}.btn-danger{background:#dc2626}.btn-secondary{background:#6b7280}.btn-sm{padding:6px 10px;font-size:12px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;margin-top:14px;font-size:14px;background:#fff}th{background:var(--bg);padding:12px;text-align:left;border-bottom:2px solid var(--accent);color:var(--primary)}td{padding:12px;border-bottom:1px solid #eee;vertical-align:top}tr:hover{background:#fafafa}
.form-card{background:#fff;border:1px solid #edf2f7;padding:20px;border-radius:12px;margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:14px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;font-weight:700;color:var(--primary)}.form-group input,.form-group select,.form-group textarea{padding:11px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit}.form-group textarea{min-height:90px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,140,0,.12)}
.highlight{background:#FFE5CC;color:#b45309;font-weight:700;padding:2px 8px;border-radius:999px}.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}.badge-success{background:#dcfce7;color:#166534}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}
.search-box{width:100%;padding:12px;border:2px solid #ddd;border-radius:8px;margin-bottom:16px}.search-box:focus{outline:none;border-color:var(--accent)}
.item-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.item-badge{background:#fff;border:2px solid var(--accent);color:var(--accent);padding:8px 14px;border-radius:20px;font-weight:700;display:flex;align-items:center;gap:8px}.delete-mini{background:var(--accent);color:#fff;border:none;border-radius:999px;width:22px;height:22px;cursor:pointer}
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--primary),var(--accent))}.login-box{background:#fff;padding:48px;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.28);max-width:460px;width:92%}.login-box h1{color:var(--primary);text-align:center;margin-bottom:28px}.muted{color:#6b7280;font-size:13px}.note{background:#eff6ff;border-left:4px solid var(--accent);padding:14px;border-radius:10px}.kpi-note{font-size:12px;color:#6b7280;margin-top:10px}
@media (max-width: 960px){.grid-2,.grid-3,.form-row{grid-template-columns:1fr}.sidebar{width:100%;max-height:none}.container{flex-direction:column}.main{padding:18px;max-height:none}.topbar{align-items:flex-start;gap:14px;flex-direction:column}}

.filter-bar{background:#f8fafc;border:1px solid #e5e7eb;padding:16px;border-radius:12px;margin-bottom:18px}
.action-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.action-group form{margin:0}

.filter-bar{background:#f8fafc;border:1px solid #e5e7eb;padding:18px;border-radius:12px;margin-bottom:18px}
.note{background:#fff7ed;border:1px solid #fdba74;color:#9a3412;padding:12px 14px;border-radius:10px}
.muted{color:#6b7280}
.action-group{display:flex;gap:8px;flex-wrap:wrap}
.item-list{display:flex;flex-wrap:wrap;gap:10px}.item-badge{display:inline-flex;gap:8px;align-items:center;background:#fff;border:1px solid #fed7aa;border-radius:999px;padding:8px 12px}.delete-mini{border:none;background:#dc2626;color:#fff;width:22px;height:22px;border-radius:999px;cursor:pointer}
.app-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 24px;border-top:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:14px}
.footer-meta{font-size:12px;color:#9ca3af}
.dashboard-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-bottom:24px}
.chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px}
.chart-bar{display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:center;margin-bottom:14px}
.bar-track{height:12px;background:#e5e7eb;border-radius:999px;overflow:hidden}
.bar-fill{height:100%;background:var(--primary);border-radius:999px}
.bar-fill.accent{background:var(--accent)}
.bar-fill.muted{background:#6b7280}
.mini-kpi{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px dashed #e5e7eb}
.mini-kpi:last-child{border-bottom:none}
.import-summary .btn{margin-left:10px}
@media (max-width: 992px){
  .dashboard-grid{grid-template-columns:1fr}
}
@media (max-width: 768px){
  .container{flex-direction:column}
  .sidebar{width:100%;max-height:none}
  .main{padding:16px;max-height:none}
  .topbar{flex-direction:column;align-items:flex-start;gap:14px}
  .form-row,.grid-2,.grid-3{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .app-footer{flex-direction:column;text-align:center}
}


.list-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid #e5e7eb}
.per-page-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:8px 12px}
.per-page-form label{font-size:13px;color:#475569;font-weight:700}
.per-page-form select{padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}
.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:1;flex-wrap:wrap}
.pagination-summary{font-size:13px;color:#64748b}
.pagination-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.page-link{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:9px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#fff;color:var(--primary);font-weight:700;box-shadow:0 2px 8px rgba(15,23,42,.06)}
.page-link-active{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border-color:transparent}
.pagination-disabled{pointer-events:none;opacity:.45}
.app-footer{margin-top:auto;padding:18px 24px;background:linear-gradient(135deg,var(--primary),#111827 72%);color:#fff;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;border-top:3px solid var(--accent);box-shadow:0 -8px 24px rgba(15,23,42,.08)}
.app-footer > div:first-child{font-weight:700;letter-spacing:.2px}
.footer-meta{font-size:12px;color:rgba(255,255,255,.72)}
.content-box,.topbar,.chart-card,.form-card{backdrop-filter:blur(8px)}
@media (max-width:768px){.list-footer,.pagination-bar{align-items:stretch}.pagination-links{justify-content:center;width:100%}.per-page-form{width:100%;justify-content:space-between}}

.form-group{position:relative}
.lookup-menu{position:absolute;left:0;right:0;top:100%;z-index:30;background:#fff;border:1px solid #dbe4f0;border-radius:14px;box-shadow:0 14px 34px rgba(15,23,42,.14);margin-top:8px;display:none;max-height:260px;overflow:auto}
.lookup-menu.show{display:block}
.lookup-item{width:100%;border:none;background:#fff;padding:12px 14px;text-align:left;display:flex;flex-direction:column;gap:4px;cursor:pointer}
.lookup-item:hover{background:#f8fafc}
.lookup-item strong{color:#0f172a;font-size:14px}
.lookup-item span{color:#64748b;font-size:12px}
.lookup-status{font-size:12px;margin-top:8px;min-height:18px;color:#64748b}
.lookup-status.is-loading{color:#92400e}
.lookup-status.is-success{color:#166534}
.lookup-status.is-error{color:#b91c1c}
.compact-filter{margin-top:16px}
.compact-filter .form-row{margin-bottom:0}
.page-link{min-width:42px;height:42px;border-radius:14px;border:1px solid #dbe4f0;background:linear-gradient(180deg,#fff,#f8fafc);color:#1e3a8a;box-shadow:0 6px 18px rgba(15,23,42,.08)}
.page-link:hover{transform:translateY(-1px)}
.page-link-active{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border-color:transparent;box-shadow:0 10px 24px rgba(30,64,175,.22)}
.app-footer{position:relative}
.app-footer::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at top, rgba(255,255,255,.14), transparent 55%);pointer-events:none}
.app-footer > *{position:relative}
.footer-meta{font-size:12px;color:rgba(255,255,255,.82)}
.chart-card h3{margin-bottom:18px}
.chart-ring{width:150px;height:150px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;background:conic-gradient(var(--accent) 0 var(--completion,40%), rgba(255,255,255,.18) var(--completion,40%) 100%)}
.chart-ring span{width:108px;height:108px;border-radius:50%;background:#fff;color:var(--primary);display:grid;place-items:center;font-weight:800;font-size:24px;box-shadow:inset 0 0 0 1px #e5e7eb}
.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.insight-card{padding:14px;border-radius:14px;background:#f8fafc;border:1px solid #e5e7eb}
.insight-label{font-size:12px;color:#64748b;margin-bottom:6px}
.insight-value{font-size:22px;font-weight:800;color:#0f172a}
@media (max-width:768px){.insight-grid{grid-template-columns:1fr}.lookup-menu{position:static;margin-top:10px}}

.bulk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin:12px 0 16px;flex-wrap:wrap}
.bulk-toolbar-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.bulk-toolbar .bulk-count-pill{background:rgba(15,23,42,.08);color:#0f172a;padding:6px 12px;border-radius:999px;font-weight:700}
.row-check{width:18px;height:18px;accent-color:var(--accent)}
.report-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:20px 0 24px}
.report-stat{border-radius:18px;padding:18px;color:#fff;box-shadow:0 18px 35px rgba(15,23,42,.12)}
.report-stat small{display:block;opacity:.88;margin-bottom:8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.report-stat strong{font-size:30px;font-weight:800;display:block}
.report-stat-green{background:linear-gradient(135deg,#16a34a,#22c55e)}
.report-stat-red{background:linear-gradient(135deg,#dc2626,#ef4444)}
.report-stat-blue{background:linear-gradient(135deg,#2563eb,#3b82f6)}
.report-stat-dark{background:linear-gradient(135deg,#111827,#334155)}
.status-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;font-weight:700;font-size:12px}
.status-green{background:rgba(34,197,94,.12);color:#15803d}
.status-red{background:rgba(239,68,68,.12);color:#b91c1c}
.status-blue{background:rgba(59,130,246,.12);color:#1d4ed8}
.user-performance{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:22px}
.user-performance-card{padding:18px;border-radius:18px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.user-performance-card h3{margin:0 0 14px;font-size:16px;color:#0f172a}
.rank-list{display:flex;flex-direction:column;gap:12px}
.rank-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;gap:10px}
.rank-item-main{display:flex;align-items:center;gap:12px;min-width:0}
.rank-badge{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-weight:800;flex:0 0 auto}
.rank-name{font-weight:700;color:#0f172a}
.rank-sub{font-size:12px;color:#64748b}
.rank-value{font-weight:800;color:var(--primary)}
.app-footer{margin-top:auto;background:linear-gradient(135deg,var(--primary),#111827);color:#fff;padding:22px 16px;text-align:center;border-top:4px solid var(--accent);box-shadow:0 -10px 30px rgba(15,23,42,.12)}
.footer-html{max-width:980px;margin:0 auto;font-size:14px;line-height:1.7}
.footer-html a{color:#fff;text-decoration:none}
.footer-html *{max-width:100%}
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.permission-card{border:1px solid #e2e8f0;border-radius:16px;padding:14px;background:#fff}
.permission-card h4{margin:0 0 10px;color:#0f172a;font-size:14px}
.permission-list{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#475569}
.pagination-links .page-link{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid #dbe2ea;background:#fff;font-weight:700;box-shadow:0 6px 16px rgba(15,23,42,.06)}
.pagination-links .page-link-active{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border-color:transparent}
.pagination-links .page-link.pagination-disabled{opacity:.45;pointer-events:none}
@media (max-width:768px){.bulk-toolbar{align-items:flex-start}.report-hero{grid-template-columns:1fr 1fr}.user-performance{grid-template-columns:1fr}}


/* v4.0 mobile menu + brand + footer refinements */
.topbar-left{display:flex;align-items:center;gap:14px;min-width:0}
.mobile-menu-btn,.sidebar-close-btn{display:none;border:none;background:rgba(255,255,255,.12);color:#fff;width:42px;height:42px;border-radius:12px;font-size:24px;cursor:pointer;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(15,23,42,.16)}
.mobile-menu-btn{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;flex:0 0 auto}
.topbar-left h1{margin:0;min-width:0}
.brand-lockup{display:flex;align-items:center;gap:12px;min-width:0}
.brand-fallback{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 auto}
.brand-subtitle{font-size:12px;opacity:.8;margin-top:2px}
.sidebar-brand{justify-content:space-between;gap:10px}
.brand-logo{width:48px;height:48px;border-radius:12px;padding:6px;box-shadow:0 8px 24px rgba(15,23,42,.18)}
.mobile-sidebar-overlay{display:none}
.app-footer{width:100%;margin-top:auto;position:relative;left:auto;right:auto;bottom:auto}
.footer-html{max-width:980px;margin:0 auto;text-align:center;font-size:14px;line-height:1.8;word-break:break-word}
.footer-html a{pointer-events:none;text-decoration:none;color:inherit}
body.mobile-menu-open{overflow:hidden}
@media (max-width:960px){
  .mobile-menu-btn,.sidebar-close-btn{display:inline-flex}
  .container{display:block}
  .sidebar{position:fixed;top:0;left:0;bottom:0;width:min(86vw,320px);max-height:none;z-index:1001;transform:translateX(-110%);transition:transform .28s ease, box-shadow .28s ease;padding:20px 16px 28px;box-shadow:none}
  .sidebar.is-open{transform:translateX(0);box-shadow:0 20px 50px rgba(15,23,42,.28)}
  .mobile-sidebar-overlay{position:fixed;inset:0;background:rgba(2,6,23,.42);backdrop-filter:blur(2px);z-index:1000}
  .mobile-sidebar-overlay.show{display:block}
  .main{padding:14px}
  .topbar{padding:16px;border-radius:16px;align-items:stretch}
  .user-info{justify-content:space-between;width:100%;gap:10px;flex-wrap:wrap}
  .sidebar h2{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
  .app-footer{padding:18px 14px 22px;border-top-width:3px}
}


/* v4.1 premium visuals */
.login-shell{width:100%;display:flex;align-items:center;justify-content:center;padding:24px}
.login-box-premium{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
.login-box-premium::before{content:'';position:absolute;inset:auto -10% 82% -10%;height:160px;background:radial-gradient(circle at center, rgba(255,255,255,.95), rgba(255,255,255,0));pointer-events:none}
.login-brand{display:flex;align-items:center;gap:18px;margin-bottom:24px;position:relative}
.login-logo{width:78px;height:78px;border-radius:22px;object-fit:contain;background:#fff;padding:10px;box-shadow:0 18px 38px rgba(15,23,42,.18);border:1px solid rgba(15,23,42,.06);flex:0 0 auto}
.login-logo-fallback{display:flex;align-items:center;justify-content:center;font-size:36px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff}
.login-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(30,64,175,.08);color:var(--primary);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.login-subtitle{margin:8px 0 0;color:#64748b;line-height:1.6;font-size:14px}
.login-form .form-group input{background:#f8fafc;border:1px solid #dbe4f0;height:48px}
.login-submit{width:100%;margin-top:16px;height:48px;border-radius:12px;font-size:15px;box-shadow:0 14px 30px rgba(30,64,175,.18)}
.login-meta-card{margin-top:20px;padding:18px;border-radius:16px;background:linear-gradient(135deg,rgba(30,64,175,.06),rgba(249,115,22,.08));border:1px solid rgba(148,163,184,.18)}
.stats{gap:20px}
.stat-card{position:relative;overflow:hidden;text-align:left;padding:24px 24px 22px;border:1px solid rgba(255,255,255,.14)}
.stat-card::after{content:'';position:absolute;right:-26px;top:-30px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.12)}
.stat-card .label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.85}
.stat-card .number{font-size:28px;line-height:1.15;margin-top:16px}
.chart-card,.user-performance-card,.content-box{border:1px solid rgba(226,232,240,.85);box-shadow:0 20px 45px rgba(15,23,42,.06)}
.chart-card{position:relative;overflow:hidden}
.chart-card::before{content:'';position:absolute;inset:0 auto auto 0;width:110px;height:110px;background:radial-gradient(circle, rgba(59,130,246,.10), transparent 70%);pointer-events:none}
.rank-item{transition:transform .2s ease, box-shadow .2s ease}
.rank-item:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.08)}
.table-wrap{border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.05)}
.table-wrap table{margin-top:0}
.table-wrap th{background:linear-gradient(180deg,#f8fafc,#eef2ff);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.table-wrap td{background:#fff}
.table-wrap tr:nth-child(even) td{background:#fcfdff}
.topbar{border:1px solid rgba(226,232,240,.75);box-shadow:0 18px 38px rgba(15,23,42,.08)}
.app-footer{padding:26px 16px 28px;border-top-width:0}
.footer-html{font-size:14px;line-height:1.9}
@media (max-width:768px){
  .login-shell{padding:16px}
  .login-brand{flex-direction:column;align-items:flex-start;gap:14px}
  .login-logo{width:64px;height:64px;border-radius:18px}
  .table-wrap{border:none;box-shadow:none;background:transparent}
  .table-wrap table,.table-wrap thead,.table-wrap tbody,.table-wrap th,.table-wrap td,.table-wrap tr{display:block;width:100%}
  .table-wrap thead{display:none}
  .table-wrap tbody{display:grid;gap:14px}
  .table-wrap tr{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 14px 30px rgba(15,23,42,.06);padding:10px 0;overflow:hidden}
  .table-wrap td{display:flex;justify-content:space-between;gap:14px;padding:10px 16px;border-bottom:1px dashed #e5e7eb;text-align:right}
  .table-wrap td:last-child{border-bottom:none}
  .table-wrap td::before{content:attr(data-label);font-weight:700;color:#0f172a;text-align:left;white-space:nowrap}
  .stats{grid-template-columns:1fr}
  .topbar-left h1{font-size:22px}
}

/* v4.2 premium refresh */
:root{
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --surface-tint:#eef2ff;
  --text:#0f172a;
  --muted:#64748b;
  --line:#e2e8f0;
  --shadow-sm:0 8px 20px rgba(15,23,42,.06);
  --shadow-md:0 18px 40px rgba(15,23,42,.08);
  --shadow-lg:0 28px 60px rgba(15,23,42,.12);
}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at top left, rgba(59,130,246,.08), transparent 28%),
    radial-gradient(circle at top right, rgba(249,115,22,.08), transparent 24%),
    linear-gradient(180deg,#f8fafc 0%,#eef2ff 100%);
  color:var(--text);
}
.sidebar{
  background:
    radial-gradient(circle at top, rgba(255,255,255,.12), transparent 22%),
    linear-gradient(180deg, color-mix(in srgb, var(--primary) 90%, #0f172a 10%) 0%, #0f172a 100%);
  border-right:1px solid rgba(255,255,255,.08);
  box-shadow:18px 0 50px rgba(15,23,42,.18);
}
.sidebar-brand{
  padding:8px 6px 20px;
  margin-bottom:24px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.brand-logo,.brand-fallback{
  box-shadow:0 16px 36px rgba(15,23,42,.22);
}
.menu-item{
  min-height:48px;
  border:1px solid rgba(255,255,255,.05);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.menu-item:hover{box-shadow:0 12px 28px rgba(249,115,22,.18)}
.topbar{
  position:sticky;
  top:14px;
  z-index:20;
  padding:18px 22px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(18px);
  border:1px solid rgba(226,232,240,.9);
  box-shadow:var(--shadow-md);
}
.topbar-left h1{
  font-size:clamp(1.3rem,2vw,1.75rem);
  letter-spacing:-.02em;
}
.content-box,.chart-card,.user-performance-card,.form-card,.filter-bar,.bulk-toolbar,.per-page-form{
  background:rgba(255,255,255,.88);
  border:1px solid rgba(226,232,240,.92);
  box-shadow:var(--shadow-sm);
}
.content-box{
  border-radius:22px;
  padding:30px;
}
.content-box h2{
  font-size:1.35rem;
  letter-spacing:-.02em;
}
.content-box h3{
  font-size:1.02rem;
  letter-spacing:-.01em;
}
.stats{gap:22px}
.stat-card{
  border-radius:22px;
  box-shadow:0 26px 54px rgba(15,23,42,.14);
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 35%),
    linear-gradient(135deg, color-mix(in srgb,var(--primary) 92%, #0f172a 8%) 0%, color-mix(in srgb,var(--accent) 78%, #f59e0b 22%) 100%);
}
.stat-card .number{font-size:clamp(1.6rem,2.4vw,2rem)}
.chart-card,.user-performance-card,.form-card,.filter-bar,.bulk-toolbar{border-radius:20px}
.chart-card::after{
  content:'';
  position:absolute;
  right:-40px;
  bottom:-40px;
  width:140px;
  height:140px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(249,115,22,.12), transparent 65%);
  pointer-events:none;
}
.chart-ring{
  box-shadow:0 18px 40px rgba(15,23,42,.14);
}
.chart-ring span{
  box-shadow:0 10px 24px rgba(15,23,42,.10), inset 0 0 0 1px #e2e8f0;
}
.insight-card,.rank-item,.permission-card{
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
}
.rank-item:hover,.insight-card:hover,.permission-card:hover,.form-card:hover,.chart-card:hover,.content-box:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-md);
}
.table-wrap{
  border-radius:22px;
  border:1px solid rgba(226,232,240,.95);
  box-shadow:0 20px 45px rgba(15,23,42,.07);
}
.table-wrap table{font-size:13.5px}
.table-wrap th{
  position:sticky;
  top:0;
  z-index:1;
  background:linear-gradient(180deg,#f8fafc 0%,#e9eefc 100%);
  border-bottom:1px solid #dbe4f0;
}
.table-wrap td{color:#334155}
.table-wrap tr:hover td{background:#f8fbff}
.btn,.btn-link{
  min-height:42px;
  padding:10px 18px;
  border-radius:12px;
  box-shadow:0 10px 20px rgba(15,23,42,.08);
}
.btn-primary{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 55%, var(--accent) 45%))}
.btn-success{background:linear-gradient(135deg,#15803d,#22c55e)}
.btn-danger{background:linear-gradient(135deg,#b91c1c,#ef4444)}
.btn-secondary{background:linear-gradient(135deg,#475569,#64748b)}
.form-group input,.form-group select,.form-group textarea,.search-box{
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  border:1px solid #dbe4f0;
  min-height:46px;
}
.form-group textarea{min-height:110px}
.search-box{
  border-radius:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.lookup-menu{
  border-radius:18px;
  box-shadow:0 24px 50px rgba(15,23,42,.16);
}
.lookup-item{padding:14px 16px}
.report-hero{gap:18px}
.report-stat{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  box-shadow:0 22px 44px rgba(15,23,42,.14);
}
.report-stat::after{
  content:'';
  position:absolute;
  right:-20px;
  top:-20px;
  width:86px;
  height:86px;
  border-radius:50%;
  background:rgba(255,255,255,.15);
}
.status-pill{
  min-height:34px;
  border:1px solid rgba(255,255,255,.55);
}
.bulk-toolbar,.filter-bar{
  backdrop-filter:blur(12px);
}
.pagination-links{gap:10px}
.pagination-links .page-link{
  min-width:44px;
  height:44px;
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#f8fafc);
}
.pagination-links .page-link:hover{transform:translateY(-2px);box-shadow:0 12px 22px rgba(15,23,42,.1)}
.login-page{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.18), transparent 28%),
    radial-gradient(circle at bottom right, rgba(255,255,255,.1), transparent 20%),
    linear-gradient(135deg, color-mix(in srgb,var(--primary) 92%, #0f172a 8%) 0%, color-mix(in srgb,var(--accent) 78%, #f59e0b 22%) 100%);
}
.login-box-premium{
  border-radius:28px;
  box-shadow:0 40px 90px rgba(15,23,42,.28);
}
.login-meta-card{
  border-radius:18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
.app-footer{
  background:
    radial-gradient(circle at top, rgba(255,255,255,.14), transparent 36%),
    linear-gradient(135deg, color-mix(in srgb,var(--primary) 88%, #0f172a 12%) 0%, #0f172a 100%);
  border-top:1px solid rgba(255,255,255,.08);
  box-shadow:0 -20px 40px rgba(15,23,42,.08);
}
.footer-html{
  padding:2px 10px;
  font-size:14px;
  color:rgba(255,255,255,.96);
}
.note,.alert,.badge,.highlight,.item-badge{border-radius:14px}
.highlight{padding:4px 10px}
@media (max-width:960px){
  .topbar{top:10px}
  .content-box{padding:22px}
}
@media (max-width:768px){
  body{background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%)}
  .main{padding:12px}
  .topbar{padding:14px 16px;border-radius:18px}
  .content-box,.chart-card,.user-performance-card,.form-card,.filter-bar,.bulk-toolbar{border-radius:18px}
  .content-box{padding:18px}
  .table-wrap tbody{gap:12px}
  .table-wrap tr{border-radius:18px;padding:8px 0;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)}
  .table-wrap td{padding:11px 14px;font-size:13px}
  .report-hero{grid-template-columns:1fr}
  .sidebar{border-top-right-radius:24px;border-bottom-right-radius:24px}
}


/* v4.3 readable rows and modern badges */
.table-wrap table{border-collapse:separate;border-spacing:0 10px}
.table-wrap thead th{border:none}
.table-wrap tbody tr{transition:transform .18s ease, box-shadow .18s ease}
.table-wrap tbody tr:nth-child(odd) td{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}
.table-wrap tbody tr:nth-child(even) td{background:linear-gradient(180deg,#f3f8ff 0%,#eef5ff 100%)}
.table-wrap tbody tr:hover{transform:translateY(-1px)}
.table-wrap tbody tr:hover td{background:linear-gradient(180deg,#e8f1ff 0%,#f5f9ff 100%) !important;box-shadow:0 14px 32px rgba(15,23,42,.08)}
.table-wrap tbody td{border-top:1px solid rgba(226,232,240,.9);border-bottom:1px solid rgba(226,232,240,.9)}
.table-wrap tbody td:first-child{border-left:1px solid rgba(226,232,240,.9);border-radius:16px 0 0 16px}
.table-wrap tbody td:last-child{border-right:1px solid rgba(226,232,240,.9);border-radius:0 16px 16px 0}
.ui-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;line-height:1;white-space:nowrap;border:1px solid transparent;box-shadow:0 6px 16px rgba(15,23,42,.06)}
.ui-badge-sm{padding:6px 10px;font-size:11px}
.ui-badge-lg{padding:10px 14px;font-size:13px}
.ui-badge-default{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}
.ui-badge-company{background:linear-gradient(135deg,var(--primary),#0f172a);color:#fff}
.ui-badge-code{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.ui-badge-product{background:#f8fafc;color:#0f172a;border-color:#e2e8f0}
.ui-badge-outgoing{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}
.ui-badge-incoming{background:#dcfce7;color:#15803d;border-color:#86efac}
.ui-badge-balance{background:#fee2e2;color:#b91c1c;border-color:#fca5a5}
.ui-badge-money{background:#fff7ed;color:#c2410c;border-color:#fdba74}
.ui-badge-date{background:#f8fafc;color:#475569;border-color:#cbd5e1}
.ui-badge-payment{background:#f5f3ff;color:#6d28d9;border-color:#c4b5fd}
.ui-badge-user{background:#ecfeff;color:#155e75;border-color:#a5f3fc}
.ui-note-pill{display:inline-block;max-width:280px;padding:8px 12px;border-radius:14px;background:linear-gradient(135deg,rgba(249,115,22,.12),rgba(251,191,36,.18));border:1px solid rgba(249,115,22,.25);color:#9a3412;font-weight:700;font-size:12px;line-height:1.45;white-space:normal}
.ui-note-empty{display:inline-flex;padding:7px 10px;border-radius:999px;background:#f8fafc;border:1px dashed #cbd5e1;color:#94a3b8;font-size:12px}
.kpi-inline{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:768px){
  .table-wrap table{border-spacing:0 14px}
  .table-wrap tbody tr:nth-child(odd),.table-wrap tbody tr:nth-child(even){background:transparent}
  .table-wrap tbody td:first-child,.table-wrap tbody td:last-child,.table-wrap tbody td{border-radius:0;border-left:none;border-right:none}
  .ui-note-pill{max-width:100%}
}


/* v4.4 product report + rate panel */
.rate-panel{
  margin:16px 0 18px;
  padding:18px;
  border-radius:20px;
  background:linear-gradient(135deg, rgba(15,23,42,.98), color-mix(in srgb, var(--primary) 82%, #111827 18%));
  color:#fff;
  box-shadow:var(--shadow-md);
  border:1px solid rgba(255,255,255,.08);
}
.rate-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.rate-panel-head h3{margin:0 0 6px;font-size:18px}
.rate-panel-head p{margin:0;color:rgba(255,255,255,.78);max-width:640px;line-height:1.6}
.rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.rate-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px 18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.rate-card span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:6px;font-weight:700}
.rate-card strong{display:block;font-size:24px;line-height:1.1;margin-bottom:5px}
.rate-card small{display:block;color:rgba(255,255,255,.76)}
.compact-rate-form{margin-top:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}
.compact-rate-form .form-group label{color:#fff}
.compact-rate-form .form-group input{background:rgba(255,255,255,.96)}
.product-report-hero .report-stat{min-height:120px}
.product-report-hero .report-stat small{font-size:12px;letter-spacing:.07em;text-transform:uppercase}
.product-report-hero .report-stat strong{font-size:34px}
@media (max-width:768px){
  .rate-panel{padding:16px}
  .rate-panel-head h3{font-size:16px}
  .product-report-hero{grid-template-columns:1fr 1fr}
}


/* v4.5 header + global rates */
.topbar{position:sticky;top:0;z-index:15;backdrop-filter:blur(10px)}
.topbar-left{display:flex;align-items:center;gap:14px;min-width:0}
.topbar-brand{display:flex;align-items:center;gap:12px;min-width:0}
.topbar-logo{width:46px;height:46px;border-radius:14px;object-fit:contain;background:#fff;padding:6px;box-shadow:var(--shadow-sm)}
.topbar-logo-fallback{display:flex;align-items:center;justify-content:center;font-size:20px}
.topbar-brand-text{display:flex;flex-direction:column;min-width:0}
.topbar-site-name{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.topbar-brand-text h1{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.global-rate-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;background:rgba(255,255,255,.9);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:16px;padding:12px 16px;margin-bottom:22px;flex-wrap:wrap}
.global-rate-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.global-rate-label{font-size:12px;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.05em}
.global-rate-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,#eff6ff,#ffffff);border:1px solid #dbeafe;color:#1e3a8a;font-size:13px;font-weight:700}
.compact-global-rate{margin-top:-8px}
.filter-bar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:16px 16px 8px;margin-bottom:18px;box-shadow:var(--shadow-sm)}
.filter-bar-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.filter-bar-title h3{margin:0;font-size:16px}
.zebra-table tbody tr:nth-child(even){background:#f7fbff}
.zebra-table tbody tr:nth-child(odd){background:#fff}
.zebra-table tbody tr:hover{background:#e9f3ff !important}
@media (max-width:960px){
 .topbar{padding:14px 16px;align-items:flex-start;gap:12px;flex-direction:column}
 .topbar-left,.user-info{width:100%}
 .topbar-logo{width:38px;height:38px;border-radius:12px}
 .topbar-brand-text h1{font-size:18px;white-space:normal}
 .global-rate-strip{padding:12px}
 .global-rate-info{gap:8px}
 .global-rate-pill{font-size:12px;padding:7px 10px}
}


.topbar-left{display:flex;align-items:center;gap:12px}
.currency-strip{display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(135deg,rgba(0,0,139,.95),rgba(255,140,0,.92));color:#fff;border-radius:14px;padding:14px 18px;margin:-4px 0 18px;box-shadow:0 10px 24px rgba(0,0,0,.08);flex-wrap:wrap}
.currency-strip-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.currency-pill{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(4px);font-size:13px}
.currency-pill strong{font-size:14px}
.currency-pill-try{background:rgba(255,255,255,.22)}
.currency-meta{font-size:12px;opacity:.95;padding-left:6px}
.currency-strip-form{margin-left:auto}
.btn-sm{padding:9px 12px;font-size:12px}
@media (max-width:960px){
  .currency-strip{padding:12px 14px}
  .currency-strip-form{width:100%}
  .currency-strip-form .btn{width:100%}
}


.row-pending td:first-child .status-pill{box-shadow:0 8px 18px rgba(255,140,0,.16)}
.row-completed{opacity:.92}
.status-orange{background:#fff3e6;color:#c96a00;border:1px solid rgba(201,106,0,.18)}
.dual-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}
.content-subcard{background:#fff;border:1px solid rgba(13,37,84,.08);border-radius:18px;padding:18px;box-shadow:0 10px 25px rgba(15,23,42,.05)}
.subcard-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.subcard-head h3{margin:0;font-size:18px;color:#10264d}
.status-purple{background:#f3ebff;color:#6f42c1;border:1px solid rgba(111,66,193,.18)}
.section-hint{margin:0 0 14px;color:#5c6b82;font-size:14px}
@media (max-width: 960px){.dual-report-grid{grid-template-columns:1fr}}

.dashboard-section{background:#fff;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.05);padding:24px;margin-bottom:24px}
.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.section-head h3{margin:0;color:var(--primary)}
.section-head p{margin:6px 0 0;color:#6b7280}
.currency-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.currency-summary-card{border-radius:16px;padding:18px;border:1px solid #e5e7eb;background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);box-shadow:0 8px 26px rgba(15,23,42,.06)}
.currency-summary-card.currency-try{border-color:#c7d2fe}
.currency-summary-card.currency-usd{border-color:#bfdbfe}
.currency-summary-card.currency-eur{border-color:#bbf7d0}
.currency-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.currency-code{font-size:22px;font-weight:800;color:#111827}
.currency-name{font-size:12px;color:#6b7280;margin-top:2px}
.currency-summary-lines{display:flex;flex-direction:column;gap:10px}
.currency-summary-lines div{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#475569}
.currency-summary-lines strong{color:#0f172a}
.currency-summary-lines .highlight{margin-top:4px;padding-top:10px;border-top:1px dashed #dbeafe}
.company-finance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.company-finance-card{border-radius:16px;padding:18px;background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);border:1px solid #e5e7eb;box-shadow:0 8px 26px rgba(15,23,42,.05)}
.company-finance-title{font-size:15px;font-weight:800;color:#0f172a;margin-bottom:14px}
.company-finance-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid #eef2f7}
.company-finance-row:first-of-type{border-top:none;padding-top:0}
.empty-state-card{border:1px dashed #cbd5e1;border-radius:16px;padding:22px;color:#64748b;background:#f8fafc;text-align:center}
@media (max-width: 768px){
  .dashboard-section{padding:18px}
  .currency-summary-grid,.company-finance-grid{grid-template-columns:1fr}
}

.section-head-wrap{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:16px;
    flex-wrap:wrap;
}
.mini-filter-form{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
}
.mini-filter-form input{
    min-width:220px;
    padding:10px 12px;
    border:1px solid rgba(18,51,115,.14);
    border-radius:12px;
    background:#fff;
}
.currency-metrics-row{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin:14px 0 12px;
}
.metric-chip{
    background:rgba(255,255,255,.6);
    border:1px solid rgba(255,255,255,.45);
    border-radius:14px;
    padding:10px 12px;
    display:flex;
    flex-direction:column;
    gap:4px;
    box-shadow:0 8px 20px rgba(15,23,42,.06);
}
.metric-chip span{
    font-size:11px;
    color:#667085;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.metric-chip strong{
    font-size:18px;
    color:#12224d;
}
.mini-progress-block{
    margin-top:16px;
    padding-top:12px;
    border-top:1px dashed rgba(18,34,77,.12);
}
.mini-progress-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
    font-size:13px;
    color:#475467;
}
.mini-progress-track{
    height:10px;
    background:rgba(18,34,77,.08);
    border-radius:999px;
    overflow:hidden;
}
.mini-progress-fill{
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#123373,#ff8c00);
    box-shadow:0 8px 16px rgba(18,51,115,.24);
}
.payment-summary-grid{
    margin:18px 0 20px;
}
.payment-summary-card .currency-name{
    color:#7c4d00;
}
.payment-summary-card .mini-progress-fill{
    background:linear-gradient(90deg,#16a34a,#22c55e);
}
.currency-summary-card{
    position:relative;
    overflow:hidden;
}
.currency-summary-card::after{
    content:'';
    position:absolute;
    inset:auto -30px -30px auto;
    width:120px;
    height:120px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,255,255,.35), transparent 60%);
    pointer-events:none;
}
.company-finance-card{
    position:relative;
    overflow:hidden;
}
.company-finance-card::before{
    content:'';
    position:absolute;
    inset:0 auto 0 0;
    width:4px;
    background:linear-gradient(180deg,#123373,#ff8c00);
}
@media (max-width: 768px){
  .currency-metrics-row{grid-template-columns:1fr;}
  .mini-filter-form input{min-width:0;width:100%;}
  .mini-filter-form{width:100%;}
  .mini-filter-form .btn{width:100%;justify-content:center;}
}


/* v4.8 responsive tables + slim forex strip */
.table-wrap{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border-radius:18px}
.table-wrap table{min-width:1100px}
.table-wrap::-webkit-scrollbar{height:8px}
.table-wrap::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}
.table-wrap::-webkit-scrollbar-track{background:#eef2ff}
.forex-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;background:linear-gradient(90deg,#0f172a,var(--primary));color:#fff;border-radius:12px;padding:8px 14px;margin:-6px 0 18px;flex-wrap:wrap;box-shadow:0 8px 20px rgba(15,23,42,.14)}
.forex-strip-left,.forex-strip-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.forex-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:12px;font-weight:800;letter-spacing:.02em}
.forex-meta{font-size:12px;opacity:.88}
.forex-inline-form{margin:0}.btn-xs{padding:7px 11px;font-size:12px;border-radius:999px}.btn-dark{background:#111827}
@media (max-width:768px){
  .table-wrap table,.table-wrap thead,.table-wrap tbody,.table-wrap th,.table-wrap td,.table-wrap tr{display:table-row-group;width:auto}
  .table-wrap table{display:table;width:max(1100px,100%)}
  .table-wrap thead{display:table-header-group}
  .table-wrap tbody{display:table-row-group}
  .table-wrap tr{display:table-row;background:transparent;border:none;box-shadow:none;padding:0}
  .table-wrap th,.table-wrap td{display:table-cell;padding:12px 14px;text-align:left;border-bottom:1px solid #e5e7eb}
  .table-wrap td::before{content:none}
  .forex-strip{padding:8px 10px;border-radius:10px}
}


.inline-role-form{
    display:flex;
    gap:10px;
    align-items:center;
}
.role-inline-input{
    min-width:180px;
}

.detail-card{background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 8px 24px rgba(15,23,42,.08);border-radius:18px;padding:18px;margin-bottom:18px}.detail-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.detail-card-head h3{margin:0 0 4px}.detail-card-head p{margin:0;color:#64748b}.empty-state{text-align:center;color:#64748b;padding:16px}.badge-info{background:#dbeafe;color:#1d4ed8}.summary-card-success{border-color:rgba(34,197,94,.2)}

.import-progress-box{display:none;margin-top:14px;padding:14px 16px;border:1px solid rgba(15,23,42,.09);background:#fff;border-radius:16px;box-shadow:0 10px 30px rgba(15,23,42,.08)}
.import-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;color:#0f172a}
.import-progress-percent{font-weight:800;color:var(--primary)}
.import-progress-track{width:100%;height:12px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin-bottom:10px}
.import-progress-bar{width:0;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));transition:width .25s ease}
.import-progress-meta{font-size:13px;color:#475569;margin-bottom:8px}
.import-progress-stats{font-size:12px;color:#64748b;display:flex;flex-wrap:wrap;gap:12px}
.import-progress-box.is-complete .import-progress-bar{background:linear-gradient(90deg,#16a34a,#22c55e)}
.import-progress-box.is-error .import-progress-bar{background:linear-gradient(90deg,#dc2626,#ef4444)}


.year-stack{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:132px;width:100%}
.year-stack-row{display:flex;align-items:center;justify-content:space-between;gap:8px;line-height:1.2;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.26);padding:6px 8px;border-radius:10px}
.year-stack-year{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:4px 8px;border-radius:999px;background:rgba(15,23,42,.22);font-size:11px;font-weight:800}
.year-stack-sep{opacity:.75;font-weight:700}
.year-stack-value{font-weight:800;font-size:12px;letter-spacing:.02em;margin-left:auto}
.year-stack-total{display:block;margin-top:2px;padding:7px 8px;border-top:1px dashed rgba(255,255,255,.28);font-size:11px;font-weight:800;opacity:.98;text-align:right}
.ui-badge-yearstack{white-space:normal;align-items:stretch;justify-content:flex-start;border-radius:18px;line-height:1.35;padding:10px 12px}
.ui-badge-yearstack .year-stack{white-space:normal}
.ui-badge-yearstack .year-stack-row,.ui-badge-yearstack .year-stack-total{white-space:normal}

.import-report-card{margin-top:14px;padding:16px;border-radius:16px;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;box-shadow:0 12px 30px rgba(15,23,42,.22)}
.import-report-title{font-size:14px;font-weight:800;margin-bottom:12px}
.import-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
.import-report-grid div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 12px}
.import-report-grid span{display:block;font-size:11px;opacity:.8;margin-bottom:4px}
.import-report-grid strong{font-size:18px;line-height:1}
.import-report-errors{display:flex;flex-direction:column;gap:6px;border-top:1px solid rgba(255,255,255,.15);padding-top:10px}
.import-report-error-line,.import-report-more{font-size:12px;color:#e2e8f0}


/* Year breakdown stack fix */
.ui-badge-yearstack{display:inline-flex !important;align-items:stretch !important;justify-content:flex-start !important;white-space:normal !important;min-width:140px;max-width:100%}
.ui-badge-yearstack .year-stack{display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:6px !important;width:100%}
.ui-badge-yearstack .year-stack-row{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:8px !important;width:100% !important;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.26);padding:6px 8px;border-radius:10px}
.ui-badge-yearstack .year-stack-year{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:54px;padding:4px 8px;border-radius:999px;background:rgba(15,23,42,.22);font-size:11px;font-weight:800}
.ui-badge-yearstack .year-stack-value{display:inline-block !important;font-weight:800;font-size:12px;letter-spacing:.02em;margin-left:auto}
.ui-badge-yearstack .year-stack-total{display:block !important;margin-top:2px;padding:7px 8px;border-top:1px dashed rgba(255,255,255,.28);font-size:11px;font-weight:800;opacity:.98;text-align:right}


/* Year stack color polish */
.year-stack-row{display:flex !important;align-items:center !important;justify-content:flex-start !important;gap:8px !important;flex-wrap:nowrap !important}
.year-stack-sep{display:inline-flex;align-items:center;justify-content:center;color:rgba(255,255,255,.82);font-weight:800;font-size:12px;line-height:1}
.year-stack-value{margin-left:0 !important}
.year-stack-year-blue{background:#1d4ed8 !important;color:#fff !important}
.year-stack-year-emerald{background:#059669 !important;color:#fff !important}
.year-stack-year-violet{background:#7c3aed !important;color:#fff !important}
.year-stack-year-orange{background:#ea580c !important;color:#fff !important}
.year-stack-year-rose{background:#e11d48 !important;color:#fff !important}
.year-stack-year-cyan{background:#0891b2 !important;color:#fff !important}
.year-stack-year-slate{background:#334155 !important;color:#fff !important}
.ui-badge-yearstack .year-stack-row{justify-content:flex-start !important}
.ui-badge-yearstack .year-stack-sep{display:inline-flex !important;align-items:center !important;justify-content:center !important;color:rgba(255,255,255,.82) !important;font-weight:800 !important;font-size:12px !important;line-height:1 !important}
.ui-badge-yearstack .year-stack-value{margin-left:0 !important}


.year-stack{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:150px}
.year-stack-row{display:flex!important;align-items:center!important;gap:8px!important;justify-content:flex-start!important;background:#f8fbff!important;border:1px solid #dbeafe!important;border-radius:10px!important;padding:7px 9px!important;white-space:nowrap!important}
.year-stack-year{color:#fff!important;font-weight:800!important}
.year-stack-year-blue{background:#1d4ed8!important}
.year-stack-year-emerald{background:#059669!important}
.year-stack-year-violet{background:#7c3aed!important}
.year-stack-year-orange{background:#ea580c!important}
.year-stack-year-rose{background:#e11d48!important}
.year-stack-year-cyan{background:#0891b2!important}
.year-stack-year-slate{background:#475569!important}
.year-stack-sep{opacity:.8!important;font-weight:700!important;color:#475569!important}
.year-stack-value{margin-left:auto!important;font-weight:800!important;color:#0f172a!important}
.year-stack-total{display:block!important;background:#fff7ed!important;border:1px solid #fdba74!important;border-radius:10px!important;padding:7px 9px!important;text-align:right!important;color:#9a3412!important;font-weight:800!important}
.bulk-query-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}
.bulk-query-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.bulk-query-textarea{width:100%;min-height:260px;padding:12px 14px;border:1px solid #cbd5e1;border-radius:12px;font-family:inherit;font-size:14px}
.bulk-query-item{padding:10px 0;border-bottom:1px dashed #e2e8f0}
.bulk-query-item:last-child{border-bottom:none}
.bulk-query-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.bulk-query-mini{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width: 960px){.bulk-query-grid{grid-template-columns:1fr}}


.bulk-query-note{
  margin-top:14px;
  padding:12px 14px;
  border-radius:12px;
  background:#eff6ff;
  border:1px solid #bfdbfe;
  color:#1e3a8a;
  line-height:1.55;
}


.bulk-query-headline{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;flex-wrap:wrap}
.bulk-query-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bulk-query-actions select{padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;min-width:210px}
.bulk-query-note{margin-top:14px;padding:12px 14px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;line-height:1.55}


.dashboard-shell{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.dashboard-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.dashboard-hero p{margin:6px 0 0;color:#64748b}
.dashboard-hero-badges{display:flex;gap:10px;flex-wrap:wrap}
.stats-premium{margin-bottom:20px}
.stat-card-premium{position:relative;overflow:hidden}
.stat-subline{margin-top:6px;font-size:12px;opacity:.88}
.dashboard-grid-premium{grid-template-columns:1.05fr .95fr}
.dashboard-card{border:1px solid #e5e7eb;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.section-chip{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:12px;font-weight:700}
.metric-list{display:flex;flex-direction:column;gap:12px}
.metric-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}
.metric-row span{color:#64748b}
.metric-row strong{color:#0f172a}
.dashboard-currency-grid{margin-top:18px}
@media (max-width: 960px){
  .dashboard-grid-premium{grid-template-columns:1fr}
}


.code-hover-anchor{position:relative;display:inline-flex;align-items:center}
.code-hover-card{
  position:absolute;
  left:calc(100% + 10px);
  top:50%;
  transform:translateY(-50%);
  min-width:260px;
  max-width:320px;
  padding:12px;
  border-radius:14px;
  background:#0f172a;
  color:#fff;
  box-shadow:0 16px 40px rgba(15,23,42,.35);
  border:1px solid rgba(255,255,255,.08);
  z-index:50;
  opacity:0;
  pointer-events:none;
  transition:all .16s ease;
}
.code-hover-card::before{
  content:'';
  position:absolute;
  left:-8px;
  top:50%;
  transform:translateY(-50%);
  border-width:8px 8px 8px 0;
  border-style:solid;
  border-color:transparent rgba(15,23,42,.96) transparent transparent;
}
.code-hover-title{font-size:14px;font-weight:800;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.12)}
.code-hover-row{display:flex;justify-content:space-between;gap:10px;padding:4px 0}
.code-hover-row span{font-size:12px;color:#cbd5e1}
.code-hover-row strong{font-size:12px;color:#fff;text-align:right}
.code-hover-anchor:hover .code-hover-card,
.code-hover-anchor.is-open .code-hover-card{
  opacity:1;
  pointer-events:auto;
}
@media (max-width: 960px){
  .code-hover-card{
    left:0;
    top:calc(100% + 10px);
    transform:none;
    min-width:240px;
    max-width:min(86vw,320px);
  }
  .code-hover-card::before{
    left:18px;
    top:-8px;
    transform:none;
    border-width:0 8px 8px 8px;
    border-color:transparent transparent rgba(15,23,42,.96) transparent;
  }
}


/* v5.0.5 layout stabilization fixes */
.bulk-query-grid{
  grid-template-columns:1fr !important;
  gap:16px !important;
}
.bulk-query-card{
  width:100%;
  overflow:visible;
}
.bulk-query-card .table-wrap{
  width:100%;
  overflow-x:auto;
  overflow-y:visible;
}
#bulkQueryTable{
  min-width:1400px !important;
}
#bulkQueryTable th,
#bulkQueryTable td{
  vertical-align:top;
}
.bulk-query-headline{
  align-items:flex-start !important;
}
.bulk-query-actions{
  justify-content:flex-end;
}
.bulk-query-note{
  max-width:420px;
}
.code-hover-card{
  min-width:220px !important;
  max-width:260px !important;
}
.code-hover-row{
  gap:8px !important;
}
.code-hover-row strong{
  max-width:120px;
  white-space:normal;
  word-break:break-word;
}
.ui-badge-yearstack{
  min-width:150px !important;
  padding:8px 10px !important;
}
.ui-badge-yearstack .year-stack{
  gap:6px !important;
}
.ui-badge-yearstack .year-stack-row{
  padding:6px 8px !important;
  min-height:auto !important;
}
.ui-badge-yearstack .year-stack-year{
  min-width:48px !important;
  font-size:11px !important;
}
.ui-badge-yearstack .year-stack-value{
  font-size:12px !important;
}
.ui-badge-yearstack .year-stack-total{
  padding:6px 8px !important;
  font-size:11px !important;
}

/* Dashboard cards were inheriting wide table min-width */
.dashboard-card .table-wrap table,
.dashboard-shell .table-wrap table,
.detail-card .table-wrap table{
  min-width:0 !important;
}
.dashboard-grid-premium{
  grid-template-columns:1fr 1fr !important;
  gap:18px !important;
}
.dashboard-currency-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
  gap:18px !important;
}
.currency-summary-card{
  min-width:0;
}
.currency-summary-lines div{
  gap:10px;
}
.currency-summary-lines strong{
  text-align:right;
  word-break:break-word;
}
.content-subcard.dashboard-card{
  min-width:0;
}
.dashboard-card .table-wrap{
  overflow-x:auto;
}
.dashboard-card .zebra-table td,
.dashboard-card .zebra-table th{
  white-space:normal;
}
.detail-card{
  overflow:hidden;
}
.detail-card .table-wrap{
  overflow-x:auto;
}
.detail-card .zebra-table{
  min-width:700px !important;
}

/* Slightly calmer Toplu Sorgu panel */
@media (min-width: 1200px){
  .bulk-query-card:first-child{
    max-width:520px;
  }
}
@media (max-width: 1280px){
  .dashboard-grid-premium{
    grid-template-columns:1fr !important;
  }
}
@media (max-width: 960px){
  .bulk-query-actions{
    width:100%;
    justify-content:stretch;
  }
  .bulk-query-actions select,
  .bulk-query-actions .btn{
    width:100%;
  }
  .code-hover-card{
    max-width:min(82vw,260px) !important;
  }
}
