/* Light, professional theme */
*{box-sizing:border-box}
:root{
  --bg:#f7fafc;
  --surface:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --brand:#2563eb;
  --brand-2:#0ea5e9;
  --ok:#16a34a;
  --warn:#f59e0b;
  --danger:#dc2626;
  --ring:rgba(37, 99, 235, .25);
  --shadow:0 10px 25px rgba(2,6,23,.06);
  --shadow-lg:0 24px 60px rgba(2,6,23,.12);
  --card-border:1px solid rgba(15,23,42,.08);
}

html,body{height:100%}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;margin:0;background:var(--bg);color:var(--text)}

a{color:var(--brand);text-decoration:none}
a.button,button{background:linear-gradient(180deg,#3b82f6,#2563eb);color:#fff;border:none;padding:10px 14px;border-radius:12px;cursor:pointer;box-shadow:var(--shadow);transition:all .15s ease}
a.button:hover,button:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}
button.danger{background:linear-gradient(180deg,#ef4444,#b91c1c)}

.button{display:inline-block;padding:8px 12px;border-radius:10px;background:#e2e8f0;color:#0f172a;border:1px solid rgba(2,6,23,.08)}
.button:hover{background:#dbe2ea}

.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;background:#ffffff;backdrop-filter:saturate(140%);color:#0f172a;padding:12px 16px;border-bottom:1px solid rgba(2,6,23,.08)}
.topbar .brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.2px}
.topbar .brand img{height:40px}
.topbar nav a{margin-left:12px;color:#334155}
.topbar nav a.logout{background:#ef4444;color:#fff;padding:6px 10px;border-radius:8px;border:1px solid rgba(2,6,23,.08)}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;padding:18px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.container{max-width:1200px;margin:18px auto;padding:0 14px}

.card{background:var(--surface);border-radius:16px;box-shadow:var(--shadow);padding:16px;border:var(--card-border)}
.card-link{transition:transform .12s ease, box-shadow .12s ease}
.card-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}

.alert{background:#fff8e1;color:#7c5a00;border:1px solid #ffe8a1;padding:10px;border-radius:12px;margin:10px 0}

.row{display:flex;gap:10px;align-items:center}
.grow{flex:1}
.tabs{display:flex;gap:12px;margin:10px 0}
.tabs a{padding:8px 12px;background:#eef2f7;border-radius:10px;border:1px solid rgba(2,6,23,.08);color:#334155}
.tabs a.active{background:#ffffff;color:#0f172a;border-color:rgba(2,6,23,.18)}

.badge{display:inline-block;padding:4px 10px;border-radius:999px;background:#eef2f7;color:#0f172a;font-size:12px;border:1px solid rgba(2,6,23,.1)}
.badge.red{background:#fee2e2;color:#7f1d1d;border-color:#fecaca}
.badge.green{background:#dcfce7;color:#14532d;border-color:#bbf7d0}

.table{display:grid;gap:8px}
.thead,.trow{display:grid;grid-template-columns:3fr repeat(3,1fr) 1.5fr 1fr;gap:8px;align-items:center}
.thead>div{font-weight:700;color:#334155}
.trow{background:#ffffff;padding:12px;border-radius:14px;box-shadow:var(--shadow);border:var(--card-border)}
.trow.ok .status .badge{background:#dcfce7;color:#14532d}
.trow.nope .status .badge{background:#fee2e2;color:#7f1d1d}
.tcell{padding:6px}
.tcell.topic{font-weight:700;color:#0f172a}

input,select,textarea{width:100%;padding:12px 12px;border-radius:12px;border:1px solid rgba(2,6,23,.12);background:#ffffff;color:#0f172a;outline:none;transition:border-color .15s ease, box-shadow .15s ease}
input:focus,select:focus,textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 4px var(--ring)}

.auth{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:linear-gradient(180deg,#f8fbff,#f4f7fb)}
.auth-card{width:100%;max-width:520px}
.auth .row{display:flex;justify-content:space-between;margin-top:10px}
.hint{font-size:12px;color:#64748b}

.list .item{background:#ffffff;padding:12px;border-radius:14px;box-shadow:var(--shadow);margin:10px 0;border:var(--card-border)}

.edit-block{margin-top:8px}
.multiselect{display:flex;flex-wrap:wrap;gap:10px;background:#ffffff;padding:12px;border-radius:14px;border:1px solid rgba(2,6,23,.1);box-shadow:var(--shadow)}
.chip{display:inline-flex;align-items:center;gap:6px;background:#eef2f7;padding:8px 12px;border-radius:999px;border:1px solid rgba(2,6,23,.1);color:#0f172a}

.print-actions{position:sticky;top:0;background:#ffffff;padding:10px;border-bottom:1px solid rgba(2,6,23,.08);display:flex;gap:8px;z-index:10}
.a4{width:210mm;margin:0 auto;background:#fff;color:#111;padding:14mm 12mm;box-shadow:0 0 0.5mm rgba(0,0,0,.1);border-radius:4px}
table.plan{width:100%;border-collapse:collapse}
table.plan th, table.plan td{border:1px solid #e5e7eb;padding:8px;vertical-align:top}
table.plan th{background:#f3f4f6}

/* Dashboard cards */
.kpi{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:16px;background:#ffffff;border:var(--card-border);box-shadow:var(--shadow)}
.kpi .title{font-size:13px;color:#64748b;text-transform:uppercase;letter-spacing:.08em}
.kpi .value{font-size:28px;font-weight:900;letter-spacing:.4px}
.kpi .foot{font-size:12px;color:#64748b}

.card-row{display:flex;gap:14px;flex-wrap:wrap}
.plan-card{flex:1 1 340px; background:#ffffff;border:var(--card-border);padding:16px;border-radius:16px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:flex-start}
.plan-accent{width:8px;border-radius:12px;background:linear-gradient(180deg,#22d3ee,#3b82f6)}
.plan-body{flex:1}
.plan-meta{font-size:12px;color:#64748b;margin:2px 0 8px}
.btn-row{display:flex;gap:8px;flex-wrap:wrap}


/* --- Topics Panel (Plan Yeni) --- */
.topics-panel{padding:16px}
.topics-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}
.topics-head .left{display:flex;align-items:center;gap:10px}
.topics-head h3{margin:0;font-size:16px}
.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#eef2f7;border:1px solid rgba(2,6,23,.1);font-weight:700}
.topics-head .right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#topicSearch{min-width:240px}
.topics-body{max-height:360px;overflow:auto;border:1px solid rgba(2,6,23,.08);border-radius:12px;background:#fff;padding:10px}
.topics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.topic-item{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid rgba(2,6,23,.08);border-radius:12px;background:#ffffff;box-shadow:0 6px 18px rgba(2,6,23,.06);cursor:pointer}
.topic-item input{margin-top:2px}
.topic-item .title{font-weight:600;color:#0f172a}

/* Topics panel adjustments: full row and auto height */
.topics-panel{grid-column:1 / -1;width:100%}
.topics-body{max-height:none;overflow:visible}
