/* ============================================================
   IMANNOOR Rapor Paneli - Luxury Gold/Dark tema
   ============================================================ */
:root{
  --gold:#c9a96a; --gold-light:#e0c894; --gold-dark:#8a7544;
  --bg:#0d0f14; --panel:#141823; --panel-2:#1a1f2e;
  --line:#2a3245; --ink:#e8eaf0; --ink2:#a8b0c4; --ink3:#6b7589;
  --ok:#3ecf8e; --warn:#e0b94a; --err:#e05a5a;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Segoe UI',system-ui,-apple-system,sans-serif;
  background:var(--bg); color:var(--ink); font-size:14px; line-height:1.5;
}
a{color:inherit;text-decoration:none}

/* ---- Login ---- */
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 30%,#1a1f2e 0%,#0d0f14 70%);padding:20px}
.login-box{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);
  border-radius:18px;padding:38px 32px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.login-logo{text-align:center;margin-bottom:26px}
.login-logo img{height:54px;width:auto;margin-bottom:14px}
.login-logo .brand{font-size:26px;font-weight:700;letter-spacing:6px;color:var(--gold-light);font-family:Georgia,serif}
.login-logo .sub{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ink3);margin-top:6px}
.login-err{background:rgba(224,90,90,.12);border:1px solid rgba(224,90,90,.3);color:#f0a0a0;
  padding:11px 14px;border-radius:9px;font-size:13px;margin-bottom:16px}
.fld{margin-bottom:16px}
.fld label{display:block;font-size:12px;color:var(--ink2);margin-bottom:6px}
.fld input{width:100%;padding:11px 13px;background:var(--bg);border:1px solid var(--line);
  border-radius:9px;color:var(--ink);font-size:14px;outline:none;transition:border-color .15s}
.fld input:focus{border-color:var(--gold)}
.login-remember{display:flex;align-items:center;gap:9px;margin-bottom:18px;cursor:pointer;
  font-size:13px;color:var(--ink2);user-select:none}
.login-remember input{width:17px;height:17px;cursor:pointer;accent-color:var(--gold);margin:0}
.login-remember span{line-height:1}
.btn-gold{width:100%;padding:12px;background:linear-gradient(180deg,var(--gold),var(--gold-dark));
  color:#1a1510;border:none;border-radius:9px;font-size:14px;font-weight:700;letter-spacing:.5px;
  cursor:pointer;transition:filter .15s}
.btn-gold:hover{filter:brightness(1.08)}

/* ---- Panel layout ---- */
.shell{display:flex;height:100vh;overflow:hidden}
.sidebar{width:268px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--line);
  display:flex;flex-direction:column}
.sb-head{padding:16px 18px;display:flex;align-items:center;gap:11px}
.sb-head img{height:30px;width:30px;border-radius:8px;object-fit:cover}
.sb-head .ttl{font-size:16px;font-weight:700;letter-spacing:.5px;color:var(--ink);font-family:'Segoe UI',system-ui,sans-serif}
.sb-nav{flex:1;overflow-y:auto;padding:6px 10px 10px}
.sb-nav::-webkit-scrollbar{width:6px}
.sb-nav::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
/* Ust grup ayraci */
.nav-divider{height:1px;background:var(--line);margin:10px 8px}
/* Acilir kategori basligi */
.nav-cat{display:flex;align-items:center;gap:7px;font-size:13px;letter-spacing:.2px;color:var(--ink);
  padding:9px 10px 7px;font-weight:600;cursor:pointer;user-select:none;text-transform:none;border-radius:7px}
.nav-cat:hover{color:var(--ink)}
.nav-cat .cat-arrow{font-size:9px;color:var(--ink3);transition:transform .15s;display:inline-block;width:10px}
.nav-cat.collapsed .cat-arrow{transform:rotate(-90deg)}
.nav-cat .cat-name{flex:1}
/* Kategori govde (acilir-kapanir) - class tabanli */
.nav-group{overflow:hidden;max-height:5000px;transition:max-height .25s ease}
.nav-group.collapsed{max-height:0}
/* Menu ogeleri - kapsul stil */
.nav-item{display:flex;align-items:center;gap:11px;padding:8px 11px;font-size:14px;color:var(--ink2);
  cursor:pointer;border-radius:8px;margin:1px 0;transition:background .12s,color .12s;user-select:none;position:relative}
.nav-item:hover{background:var(--panel-2);color:var(--ink)}
.nav-item.active{background:#4f5bd5;color:#fff;font-weight:500}
.nav-item.active svg{color:#fff;opacity:1}
.nav-item svg{width:17px;height:17px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;opacity:.75}
.nav-item .tool-badge{margin-left:auto;color:var(--warn);font-size:12px}
.nav-item.active .tool-badge{color:#ffe08a}
/* Hover'da sagda "..." menu */
.nav-item .item-more{margin-left:auto;color:var(--ink3);font-size:15px;opacity:0;transition:opacity .12s;
  line-height:1;letter-spacing:1px;padding-left:6px}
.nav-item:hover .item-more{opacity:1}
.nav-item.active .item-more{color:rgba(255,255,255,.7)}
.sb-foot{padding:12px 16px;border-top:1px solid var(--line);font-size:12px}
.sb-status{display:flex;align-items:center;gap:8px;color:var(--ink2);margin-bottom:8px}
.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.dot.ok{background:var(--ok)} .dot.down{background:var(--err)} .dot.checking{background:var(--warn)}
.sb-foot a{color:var(--ink3);font-size:12px}
.sb-foot a:hover{color:var(--ink)}

/* ---- Main / iframe ---- */
.main{flex:1;display:flex;flex-direction:column;min-width:0}
.topbar{height:54px;flex-shrink:0;background:var(--panel);border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;padding:0 22px}
.topbar .page-ttl{font-size:15px;font-weight:600;color:var(--ink)}
.topbar .user{font-size:12px;color:var(--ink2);display:flex;align-items:center;gap:14px}
.topbar .user .uname{color:var(--gold-light)}
.frame-wrap{flex:1;position:relative;background:#fff;overflow:hidden}
.frame-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.welcome{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;background:var(--bg);color:var(--ink3);text-align:center;padding:30px}
.welcome img{height:90px;margin-bottom:20px;opacity:.9}
.welcome h2{color:var(--gold-light);font-family:Georgia,serif;letter-spacing:2px;font-weight:700;margin:0 0 8px}
.welcome p{font-size:14px;max-width:420px;line-height:1.7}

/* ---- Generic page (Admin) ---- */
.page{max-width:1100px;margin:0 auto;padding:26px}
.page h1{font-size:22px;color:var(--gold-light);font-family:Georgia,serif;letter-spacing:1px;margin:0 0 4px}
.lead{color:var(--ink2);font-size:13.5px;margin-bottom:20px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:18px}
.tbl-wrap{overflow-x:auto}
table.data{width:100%;border-collapse:collapse;font-size:13px}
table.data thead th{background:var(--panel-2);color:var(--gold-dark);text-align:left;padding:10px 12px;
  font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--line)}
table.data tbody td{padding:10px 12px;border-bottom:1px solid var(--line);color:var(--ink2)}
table.data tbody tr:hover{background:var(--panel-2)}
.num{text-align:right;font-variant-numeric:tabular-nums}

@media(max-width:820px){
  .sidebar{position:fixed;left:-262px;top:0;bottom:0;z-index:200;transition:left .2s}
  .sidebar.open{left:0}
  .menu-btn{display:inline-flex!important}
}
.menu-btn{display:none;background:none;border:none;color:var(--ink);font-size:22px;cursor:pointer;margin-right:8px}

/* ---- Coklu iframe (acik kalan raporlar) ---- */
.rpt-frame{position:absolute;inset:0;width:100%;height:100%;border:none;background:#fff}

/* ---- Yukleniyor spinner ---- */
.loader{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;
  justify-content:center;background:var(--bg);z-index:50;gap:16px}
.spinner{width:46px;height:46px;border:4px solid var(--line);border-top-color:var(--gold);
  border-radius:50%;animation:spin .8s linear infinite}
.loader-txt{color:var(--gold-light);font-size:13px;letter-spacing:1px;font-family:Georgia,serif}
@keyframes spin{to{transform:rotate(360deg)}}
