/* TRN CMS — yönetim paneli stilleri */
:root{
  --red:#d60001;--red-dark:#ad0001;--ink:#111217;--text:#1d1f24;--muted:#6a6e78;--line:#e3e5e9;--soft:#f4f5f7;--white:#fff;
  --side:#1b1d22;--side-2:#24272d;--ok:#157347;--ok-bg:#e8f5ee;--warn:#8a5a00;--warn-bg:#fff6e0;--err:#b3261e;--err-bg:#fdeceb;
  --radius:12px;--shadow:0 8px 24px rgba(17,18,23,.06)
}
*{box-sizing:border-box}
body{margin:0;background:var(--soft);color:var(--text);font:15px/1.55 "Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;max-width:100%}
code{padding:1px 5px;border-radius:5px;background:rgba(17,18,23,.06);font-size:.9em}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{display:block;color:var(--muted);font-size:13px}

/* Düzen */
.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;padding:22px 16px;background:var(--side);color:#e9eaee}
.brand{display:flex;align-items:center;gap:10px;margin:0 6px 26px;text-decoration:none;font-weight:700}
.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--red);color:#fff;font-size:13px;letter-spacing:.04em}
.side-nav{display:grid;gap:2px}
.side-nav a{padding:9px 12px;border-radius:9px;color:#c9ccd3;text-decoration:none;font-weight:600}
.side-nav a:hover{background:var(--side-2);color:#fff}
.side-nav a.active{background:var(--red);color:#fff}
.nav-title{margin:18px 12px 6px;color:#7d818b;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.main{min-width:0}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 32px;border-bottom:1px solid var(--line);background:#fff}
.topbar h1{margin:0;font-size:20px}
.user{display:flex;align-items:center;gap:12px;color:var(--muted);font-weight:600}
.user form{margin:0}
.content{padding:28px 32px 60px}
.page-lead{margin:0 0 18px;color:var(--muted)}
.page-lead a{color:var(--red);font-weight:600;text-decoration:none}

/* Kart */
.card{margin-bottom:18px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.card h2{margin:0 0 16px;font-size:16px}
.card.narrow{max-width:520px}
.card.empty{color:var(--muted);text-align:center}
.table-card{padding:0;overflow-x:auto}
.actions,.form-actions{display:flex;flex-wrap:wrap;gap:10px}

/* Butonlar */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 16px;border:1px solid transparent;border-radius:9px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{background:var(--red-dark)}
.btn-ghost{border-color:var(--line);background:#fff;color:var(--text)}
.btn-ghost:hover{border-color:#c9ccd3}
.btn-danger{border-color:#f1c9c6;background:#fff;color:var(--err)}
.btn-danger:hover{background:var(--err-bg)}
.btn-sm{min-height:32px;padding:0 11px;font-size:13px}
.btn-block{width:100%}

/* Bildirimler */
.alert{margin-bottom:16px;padding:12px 14px;border-radius:10px;font-weight:600}
.alert-success{background:var(--ok-bg);color:var(--ok)}
.alert-warning{background:var(--warn-bg);color:var(--warn)}
.alert-error{background:var(--err-bg);color:var(--err)}
.alert-error.validation-summary-valid{display:none}
.alert ul{margin:0;padding-left:18px}

/* Form */
.field{display:grid;gap:6px;align-content:start;margin-bottom:16px}
.field label{font-weight:700;font-size:14px}
.field input,.field select{width:100%;min-height:42px;height:42px;padding:9px 12px;border:1px solid #cfd3da;border-radius:9px;background:#fff;color:var(--text);font:inherit}
.field input[type=file]{height:auto;padding:8px}
.field input:focus,.field select:focus{border-color:var(--red);outline:3px solid rgba(214,0,1,.12)}
.field-error{color:var(--err);font-size:13px;font-weight:600}
.field-error:empty{display:none}
.input-validation-error{border-color:var(--err)!important}
.hint{color:var(--muted);font-size:13px}
.hint.warn{color:var(--warn);font-weight:600}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 18px}
.full{grid-column:1/-1}
.photo-row{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:start}
.photo-preview{display:grid;place-items:center;aspect-ratio:4/5;overflow:hidden;border:1px dashed #cfd3da;border-radius:10px;background:var(--soft)}
.photo-preview img{width:100%;height:100%;object-fit:cover}
.photo-empty{color:var(--muted);font-size:13px}
.advanced{margin-top:4px;padding:12px 14px;border:1px solid var(--line);border-radius:10px}
.advanced summary{font-weight:700;cursor:pointer}
.advanced[open] summary{margin-bottom:12px}

/* Liste */
.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}
.filters select{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit}
.tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:10px;background:#fff}
.tabs a{padding:6px 12px;border-radius:7px;color:var(--muted);font-weight:700;text-decoration:none}
.tabs a[aria-current=page]{background:var(--ink);color:#fff}
.toolbar-actions{display:flex;gap:10px;margin-left:auto}
.table{width:100%;border-collapse:collapse}
.table th{padding:12px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.06em;text-align:left;text-transform:uppercase;background:#fafbfc}
.table td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.table tr:last-child td{border-bottom:0}
.table tr.is-passive td{background:#fbfbfc}
.table tr.is-passive .thumb{opacity:.45}
.table .name{font-weight:700;text-decoration:none}
.table .name:hover{color:var(--red)}
.table form{display:inline}
.col-order{width:44px;padding-right:0!important}
.drag-handle{display:grid;place-items:center;width:28px;height:40px;padding:0;border:0;border-radius:7px;background:transparent;color:#9aa0aa;font-size:16px;letter-spacing:-2px;cursor:grab;touch-action:none;user-select:none}
.drag-handle:hover,.drag-handle:focus-visible{background:var(--soft);color:var(--ink);outline:none}
.drag-handle:focus-visible{box-shadow:0 0 0 3px rgba(214,0,1,.25)}
.table tr.is-dragging td{background:#fff7f7!important;box-shadow:inset 0 1px 0 var(--red),inset 0 -1px 0 var(--red)}
.table tr.is-dragging .drag-handle{cursor:grabbing;color:var(--red)}
body.is-sorting,body.is-sorting *{cursor:grabbing!important;user-select:none}
tbody.is-saving{opacity:.7}
.sort-status{position:fixed;right:24px;bottom:24px;z-index:10;margin:0;box-shadow:var(--shadow)}
.section-hint{margin:-6px 0 14px}
.col-photo{width:80px}
.col-actions{width:170px;text-align:right;white-space:nowrap}
.thumb{width:56px;height:70px;border-radius:8px;object-fit:cover;background:var(--soft)}
.badge{padding:4px 10px;border:0;border-radius:999px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.badge-on{background:var(--ok-bg);color:var(--ok)}
.badge-off{background:#eceef1;color:var(--muted)}

/* Panel */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-bottom:18px}
.stat-card{display:grid;gap:2px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);text-decoration:none}
.stat-card:hover{border-color:var(--red)}
.stat-card strong{font-size:34px;line-height:1.1}
.stat-label{color:var(--muted);font-weight:700;font-size:13px}
.stat-sub{color:var(--muted);font-size:13px}

/* Giriş */
.login-body{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(135deg,#1b1d22,#2a2d34)}
.login-card{width:100%;max-width:400px;padding:32px;border-radius:16px;background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.login-card h1{margin:0 0 20px;font-size:22px}
.login-brand{margin:0 0 22px}

@media (max-width:900px){
  .shell{grid-template-columns:1fr}
  .sidebar{position:static;height:auto;padding:14px 16px}
  .brand{margin-bottom:10px}
  .side-nav{display:flex;flex-wrap:wrap}
  .nav-title{display:none}
  .topbar,.content{padding-left:16px;padding-right:16px}
  .grid-2,.grid-3,.photo-row{grid-template-columns:1fr}
  .photo-preview{max-width:180px}
  .toolbar-actions{margin-left:0}
}

/* Kalite belgeleri formu */
.photo-row.compact{grid-template-columns:120px 1fr;gap:18px;margin-bottom:8px}
.photo-preview.cert{aspect-ratio:8/11}
.photo-preview.cert img{object-fit:contain;background:#fff}
.table .thumb.cert{width:52px;height:72px;object-fit:contain;background:#fff;border:1px solid var(--line)}

/* Elite iş ortakları */
.col-logo{width:140px}
.logo-box{display:grid;place-items:center;width:120px;height:56px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}
.logo-box img{max-width:100px;max-height:44px;width:auto;height:auto;object-fit:contain}
.is-passive .logo-box img{opacity:.45}
.photo-row.logo-row{grid-template-columns:220px 1fr}
.photo-preview.logo{aspect-ratio:auto;height:110px;padding:14px;background:#fff}
.photo-preview.logo img{object-fit:contain}
.photo-fields details + .field{margin-top:14px}
.logo-text{font-size:12px;font-weight:700;line-height:1.2;text-align:center;color:var(--muted)}
.check{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:14px;cursor:pointer}
.check input{width:auto;margin:0}

/* Haberler */
.field textarea{width:100%;padding:10px 12px;border:1px solid #cfd3da;border-radius:9px;background:#fff;color:var(--text);font:inherit;line-height:1.5;resize:vertical}
.field textarea:focus{border-color:var(--red);outline:3px solid rgba(214,0,1,.12)}
.field textarea.code{font-family:ui-monospace,Consolas,monospace;font-size:13px}
.field-full{grid-column:1 / -1}
.col-thumb{width:120px}
.table .thumb.news{width:96px;height:54px;object-fit:cover;border-radius:6px;border:1px solid var(--line);background:var(--soft)}
.is-passive .thumb.news{opacity:.45}
.photo-row.news-row{grid-template-columns:260px 1fr}
.photo-preview.news{aspect-ratio:16/9}
.photo-preview.news.contain img{object-fit:contain;background:#fff}
.featured-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;font-weight:700;vertical-align:middle}
.url-preview{font-family:ui-monospace,Consolas,monospace;font-size:12px;word-break:break-all}

/* Tekrarlanan alanlar (rehber bölümleri / SSS) */
.repeater-list{display:grid;gap:14px;margin:4px 0 14px}
.repeater-item{padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.repeater-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.repeater-tools{display:flex;gap:6px}
.repeater-tools .btn:disabled{opacity:.35;cursor:default}

/* Hata kayıtları */
.log-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 14px;align-items:end;padding:16px 18px;margin-bottom:14px}
.log-filters .field{margin:0}
.log-filters .log-search{grid-column:1 / span 4}
.log-filter-actions{display:flex;gap:8px}
.log-count{margin:0 0 0 auto}
.log-table td{vertical-align:top}
.log-table .name{display:block;font-weight:600;word-break:break-word}
.log-path{word-break:break-all}
.nowrap{white-space:nowrap}
.badge-error{background:var(--err-bg);color:var(--err)}
.badge-critical{background:var(--err);color:#fff}
.pager{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0}
.log-detail{display:grid;grid-template-columns:160px 1fr;gap:8px 16px;margin:0}
.log-detail dt{font-weight:700;color:var(--muted)}
.log-detail dd{margin:0;word-break:break-word}
.log-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.log-pre{margin:10px 0 0;padding:14px;max-height:560px;overflow:auto;border:1px solid var(--line);border-radius:9px;background:var(--soft);font:12.5px/1.5 ui-monospace,Consolas,monospace;white-space:pre-wrap;word-break:break-word}
@media (max-width:900px){.log-filters{grid-template-columns:1fr 1fr}.log-filters .log-search{grid-column:1 / -1}.log-detail{grid-template-columns:1fr}}
.alert-link{display:block;text-decoration:none;font-weight:600}

/* Form kayıtları (iletişim mesajları, başvurular) */
.bulk-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.submission-table td{vertical-align:top}
.submission-table .name{display:inline;font-weight:600}
.submission-table tr.unread td{background:#fffafa}
.submission-table tr.unread td:first-child{box-shadow:inset 3px 0 0 var(--red)}
.submission-table tr.unread .name{font-weight:800}
.col-check{width:44px;text-align:center}
.col-check input{width:16px;height:16px;cursor:pointer}
.muted-cell{max-width:360px;color:var(--muted);font-size:13px;word-break:break-word}
.new-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;font-weight:700;vertical-align:middle}
.message-text{padding:16px 18px;border-left:4px solid var(--red);border-radius:0 9px 9px 0;background:var(--soft);white-space:pre-wrap;word-break:break-word}
.log-head .actions form{margin:0}
.side-nav a.has-badge{display:flex;align-items:center;justify-content:space-between;gap:8px}
.nav-badge{min-width:22px;padding:1px 7px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;font-weight:700;text-align:center}
.side-nav a.active .nav-badge{background:#fff;color:var(--red)}
.stat-card.stat-attention{border-color:#f3c2c2;box-shadow:inset 4px 0 0 var(--red),var(--shadow)}
.stat-card.stat-attention strong{color:var(--red)}
