/* Admin panel — style.css token'larini kullanir, layout'a ozeldir */
body.admin{ background:var(--paper); min-height:100vh; }

.admin-shell{ display:flex; min-height:100vh; }

/* --- Sidebar (koyu antrasit — icerik alaniyla elegan kontrast) --- */
.admin-sidebar{
  width:250px; flex:none; background:var(--violet); border-right:1px solid rgba(255,255,255,0.08);
  padding:26px 18px; display:flex; flex-direction:column; position:sticky; top:0; height:100vh; z-index:200;
  transition:transform .3s ease;
}
.admin-sidebar .brand{ padding:0 10px 26px; font-size:1.1rem; color:#fff; }
.admin-nav{ display:flex; flex-direction:column; gap:4px; flex:1; }
.admin-nav a{
  display:flex; align-items:center; gap:12px; padding:11px 14px; border-radius:12px; font-size:0.92rem; font-weight:600;
  color:rgba(255,255,255,0.62); transition:background .2s ease,color .2s ease;
}
.admin-nav a svg{ width:18px; height:18px; flex:none; }
.admin-nav a:hover{ background:rgba(255,255,255,0.08); color:#fff; }
.admin-nav a.active{ background:var(--gradient-brand); color:#fff; }
.admin-nav .divider{ margin:14px 10px 6px; font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.4); }

.admin-user{ border-top:1px solid rgba(255,255,255,0.12); padding-top:16px; display:flex; align-items:center; gap:12px; }
.admin-user .av{ width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; color:#fff; flex:none; }
.admin-user b{ display:block; font-size:0.88rem; color:#fff; }
.admin-user a{ font-size:0.76rem; color:var(--magenta); font-weight:600; }

.admin-sidebar-close{ display:none; }

/* --- Mobil sidebar --- */
@media (max-width:960px){
  .admin-sidebar{
    position:fixed; left:0; top:0; bottom:0; transform:translateX(-100%);
    box-shadow:20px 0 50px rgba(22,24,28,0.25);
  }
  .admin-sidebar.is-open{ transform:translateX(0); }
  .admin-sidebar-close{
    display:flex; align-self:flex-end; background:none; border:0; color:#fff; font-size:1.5rem; margin-bottom:6px;
  }
  .admin-burger{
    display:flex; flex-direction:column; gap:5px; background:none; border:0; padding:6px;
  }
  .admin-burger span{ width:22px; height:2px; background:var(--ink); border-radius:2px; }
  .admin-sidebar-backdrop{
    display:none; position:fixed; inset:0; background:rgba(22,24,28,0.4); z-index:150;
  }
  .admin-sidebar-backdrop.is-open{ display:block; }
}
@media (min-width:961px){ .admin-burger{ display:none; } }

/* --- Main --- */
.admin-main{ flex:1; min-width:0; }
.admin-topbar{
  display:flex; align-items:center; justify-content:space-between; padding:20px 34px; border-bottom:1px solid var(--ink-line);
  position:sticky; top:0; background:rgba(250,248,244,0.9); backdrop-filter:blur(10px); z-index:10;
}
.admin-topbar h1{ font-size:1.3rem; }
.admin-topbar .sub{ color:var(--ink-mute); font-size:0.85rem; margin-top:3px; }
.admin-content{ padding:32px 34px 60px; }

/* --- Stat kartlari --- */
.stat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:34px; }
.stat-card{ background:var(--ink-soft); border:1px solid var(--ink-line); border-radius:var(--radius-md); padding:22px; }
.stat-card .top{ display:flex; align-items:center; justify-content:space-between; }
.stat-card .ic{ width:38px; height:38px; border-radius:11px; background:var(--gradient-brand); display:flex; align-items:center; justify-content:center; }
.stat-card .ic svg{ width:18px; height:18px; }
.stat-card b{ display:block; font-family:var(--font-display); font-size:2rem; margin-top:16px; }
.stat-card span{ color:var(--ink-mute); font-size:0.85rem; }
@media (max-width:1100px){ .stat-grid{ grid-template-columns:repeat(2,1fr); } }

/* --- Kart / panel --- */
.panel{ background:var(--ink-soft); border:1px solid var(--ink-line); border-radius:var(--radius-md); padding:26px; margin-bottom:26px; }
.panel-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; gap:14px; flex-wrap:wrap; }
.panel-head h2{ font-size:1.1rem; }

/* --- Tablo --- */
.table-wrap{ overflow-x:auto; }
table.admin-table{ width:100%; border-collapse:collapse; font-size:0.9rem; }
table.admin-table th{ text-align:left; padding:12px 14px; color:var(--ink-mute); font-size:0.76rem; text-transform:uppercase; letter-spacing:0.05em; font-family:var(--font-mono); border-bottom:1px solid var(--ink-line); white-space:nowrap; }
table.admin-table td{ padding:14px; border-bottom:1px solid var(--ink-line); vertical-align:middle; }
table.admin-table tr:last-child td{ border-bottom:0; }
table.admin-table tr:hover td{ background:rgba(253,251,247,0.02); }
.row-actions{ display:flex; gap:8px; }
.icon-btn{ width:32px; height:32px; border-radius:9px; border:1px solid var(--ink-line); display:flex; align-items:center; justify-content:center; background:transparent; color:var(--paper); }
.icon-btn:hover{ background:rgba(253,251,247,0.06); }
.icon-btn svg{ width:15px; height:15px; }
.icon-btn.danger:hover{ background:rgba(255,90,90,0.16); border-color:rgba(255,90,90,0.4); }

/* --- Form --- */
.admin-form .field{ margin-bottom:16px; }
.admin-form .field label{ display:block; margin-bottom:7px; font-size:0.82rem; font-weight:600; color:var(--ink-mute); }
.admin-form input,.admin-form select,.admin-form textarea{
  width:100%; background:var(--ink); border:1px solid var(--ink-line); border-radius:11px; padding:11px 14px; color:var(--paper);
}
.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{ outline:none; border-color:var(--magenta); }
.form-cols-2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-cols-3{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }
.checkbox-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.check-item{ display:flex; align-items:center; gap:9px; background:var(--ink); border:1px solid var(--ink-line); border-radius:10px; padding:10px 12px; font-size:0.88rem; }
.check-item input{ width:auto; }
@media (max-width:700px){ .form-cols-2,.form-cols-3,.checkbox-grid{ grid-template-columns:1fr; } }

/* --- Modal --- */
.modal-backdrop{ position:fixed; inset:0; background:rgba(22,24,28,0.55); backdrop-filter:blur(4px); z-index:300; display:none; align-items:center; justify-content:center; padding:24px; }
.modal-backdrop.is-open{ display:flex; }
.modal{ background:var(--ink-soft); border:1px solid var(--ink-line); border-radius:var(--radius-md); width:100%; max-width:640px; max-height:88vh; overflow-y:auto; padding:30px; }
.modal-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; }
.modal-close{ background:none; border:0; color:var(--paper); font-size:1.4rem; cursor:pointer; line-height:1; }

/* --- Kanban --- */
.kanban{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:start; }
.kanban-col{ background:var(--ink-soft); border:1px solid var(--ink-line); border-radius:var(--radius-md); padding:18px; }
.kanban-col h3{ font-size:0.95rem; display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.kanban-col .count{ font-family:var(--font-mono); font-size:0.72rem; color:var(--ink-mute); background:rgba(253,251,247,0.06); padding:2px 9px; border-radius:999px; }
.task-card{ background:var(--ink); border:1px solid var(--ink-line); border-radius:13px; padding:15px; margin-bottom:12px; }
.task-card h4{ font-size:0.92rem; margin-bottom:6px; }
.task-card p{ font-size:0.8rem; color:var(--ink-mute); margin-bottom:10px; }
.task-meta{ display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.task-assignee{ display:flex; align-items:center; gap:6px; font-size:0.76rem; color:var(--ink-mute); }
.task-assignee .dot{ width:20px; height:20px; border-radius:6px; display:flex; align-items:center; justify-content:center; font-size:0.66rem; font-weight:700; color:var(--ink); font-family:var(--font-display); }
.task-card select{ font-size:0.76rem; padding:6px 8px; border-radius:8px; }
@media (max-width:980px){ .kanban{ grid-template-columns:1fr; } }

/* --- Login --- */
.login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; position:relative; overflow:hidden; }
.login-wrap::before{ content:""; position:absolute; inset:-20% -10% auto -10%; height:800px; background:var(--gradient-glow); }
.login-card{ position:relative; z-index:2; background:var(--ink-soft); border:1px solid var(--ink-line); border-radius:var(--radius-lg); padding:44px; width:100%; max-width:400px; }
.login-card .brand{ justify-content:center; margin-bottom:8px; }
.login-card p.sub{ text-align:center; color:var(--ink-mute); font-size:0.9rem; margin-bottom:28px; }

.empty-state{ text-align:center; padding:50px 20px; color:var(--ink-mute); }
.progress-bar{ height:8px; border-radius:6px; background:var(--ink-line); overflow:hidden; }
.progress-bar i{ display:block; height:100%; background:var(--gradient-brand); }

/* --- Ajanda (takvim) --- */
.calendar-nav{ display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; gap:14px; flex-wrap:wrap; }
.calendar-nav h2{ font-size:1.2rem; text-transform:capitalize; }
.calendar-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:8px; }
.calendar-dow{ text-align:center; font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); padding-bottom:6px; }
.calendar-day{
  background:var(--paper-2); border:1px solid var(--ink-line); border-radius:12px; padding:8px; min-height:104px;
  display:flex; flex-direction:column; gap:6px; cursor:pointer; transition:border-color .2s ease, background .2s ease;
}
.calendar-day:hover{ border-color:var(--magenta); }
.calendar-day.is-empty{ background:transparent; border:1px dashed var(--ink-line); cursor:default; }
.calendar-day.is-today{ border-color:var(--magenta); box-shadow:0 0 0 1px var(--magenta) inset; }
.calendar-day .daynum{ font-family:var(--font-display); font-weight:700; font-size:0.9rem; }
.calendar-event{
  background:var(--ink-soft-2); border-radius:8px; padding:4px 7px; font-size:0.7rem; line-height:1.3;
  display:flex; align-items:center; justify-content:space-between; gap:4px; overflow:hidden;
}
.calendar-event span.et{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.calendar-event form{ flex:none; }
.calendar-event button{ background:none; border:0; color:var(--ink-mute); font-size:0.8rem; line-height:1; padding:0 2px; }
.calendar-event .who{ font-family:var(--font-mono); font-size:0.62rem; color:var(--magenta); display:block; }
@media (max-width:760px){
  .calendar-grid{ grid-template-columns:repeat(7,1fr); gap:4px; }
  .calendar-day{ min-height:70px; padding:5px; font-size:0.78rem; }
  .calendar-event{ font-size:0.62rem; padding:3px 5px; }
  .calendar-dow{ font-size:0.58rem; }
}

/* --- Rapor filtre satiri --- */
.report-filter{ display:flex; gap:14px; align-items:flex-end; flex-wrap:wrap; margin-bottom:22px; }
.report-filter .field{ margin-bottom:0; min-width:170px; }

/* --- date input gorunurlugu --- */
input[type="date"]{ cursor:pointer; }

/* --- Ek admin mobil duzeltmeler --- */
@media (max-width:760px){
  .admin-topbar{ padding:16px 18px; }
  .admin-content{ padding:20px 18px 50px; }
  .admin-topbar h1{ font-size:1.05rem; }
  .stat-grid{ grid-template-columns:1fr 1fr; gap:12px; }
  .panel{ padding:18px; }
  .form-cols-2,.form-cols-3{ grid-template-columns:1fr; }
  .modal{ padding:22px; }
}
@media (max-width:420px){
  .stat-grid{ grid-template-columns:1fr; }
}
