/* ===== DOCS — Teknik Dokümantasyon & Mimari ===== */
.dc-wrap { display:flex; flex-direction:column; gap:16px; }

/* Header */
.dc-header { display:flex; align-items:center; justify-content:space-between; }
.dc-header-left { display:flex; align-items:center; gap:10px; }
.dc-header-icon { display:none; }
.dc-header-title { font-size:18px; font-weight:700; color:var(--text-primary); margin:0; }
.dc-header-sub { font-size:11px; color:var(--text-muted); margin:2px 0 0; }

/* Tabs */
.dc-tabs { display:flex; gap:4px; padding:4px; background:var(--bg-light); border-radius:10px; border:1px solid var(--border-light); overflow-x:auto; flex-shrink:0; }
.dc-tab { padding:8px 14px; border-radius:8px; font-size:11px; font-weight:600; cursor:pointer; border:none; background:transparent; color:var(--text-muted); display:flex; align-items:center; gap:6px; transition:all 0.2s; white-space:nowrap; font-family:inherit; }
.dc-tab:hover { background:var(--bg-hover); color:var(--text-secondary); }
.dc-tab.active { background:var(--primary-light); color:var(--primary); }

/* Content */
.dc-content { min-height:400px; }

/* Section */
.dc-section { margin-bottom:24px; }
.dc-sh { font-size:14px; font-weight:600; color:var(--text-primary); margin:0 0 12px; display:flex; align-items:center; gap:6px; }
.dc-sh i { color:var(--text-muted); font-size:12px; }

/* Buttons */
.dc-btn { padding:7px 14px; border-radius:4px; font-size:11px; font-weight:600; cursor:pointer; border:none; display:inline-flex; align-items:center; gap:5px; font-family:inherit; transition:opacity 0.15s; }
.dc-btn-primary { background:var(--bg-light); color:var(--text-primary); border:1px solid var(--border-light); }
.dc-btn-primary:hover { opacity:0.8; }
.dc-btn-primary:disabled { opacity:0.3; pointer-events:none; }

/* ===== BLOCK DIAGRAM ===== */
.dc-block-diagram { display:flex; flex-direction:column; gap:0; padding:16px; background:var(--bg-white); border-radius:var(--radius-sm); border:1px solid var(--border-light); }
.dc-bd-row { padding:10px 0; }
.dc-bd-title { font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:1px; color:var(--text-muted); margin-bottom:8px; padding-left:2px; }
.dc-bd-boxes { display:flex; gap:6px; flex-wrap:wrap; }
.dc-bd-box { flex:1; min-width:110px; padding:10px 8px; border-radius:6px; display:flex; flex-direction:column; align-items:center; gap:2px; text-align:center; background:var(--bg-light); border:1px solid var(--border-light); }
.dc-bd-box:hover { background:var(--bg-hover); }
.dc-bd-box i { font-size:14px; margin-bottom:2px; color:var(--text-muted); }
.dc-bd-box span { font-size:11px; font-weight:600; color:var(--text-primary); }
.dc-bd-box small { font-size:9px; color:var(--text-muted); }
.dc-bd-box.client i, .dc-bd-box.gateway i, .dc-bd-box.core i, .dc-bd-box.data i, .dc-bd-box.ext i { color:var(--text-muted); }
.dc-bd-arrow { text-align:center; padding:4px; color:var(--text-muted); font-size:9px; display:flex; align-items:center; justify-content:center; gap:6px; opacity:0.5; }
.dc-bd-arrow i { font-size:10px; color:var(--text-muted); }

/* Data Flow Table */
.dc-df-table { background:var(--bg-white); border-radius:var(--radius-sm); overflow:hidden; border:1px solid var(--border-light); }
.dc-df-header { display:grid; grid-template-columns:1fr 30px 1fr 1.2fr 0.6fr; gap:8px; padding:10px 14px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; color:var(--text-muted); border-bottom:1px solid var(--border-light); background:var(--bg-light); }
.dc-df-row { display:grid; grid-template-columns:1fr 30px 1fr 1.2fr 0.6fr; gap:8px; padding:8px 14px; align-items:center; border-bottom:1px solid var(--border-light); font-size:11px; }
.dc-df-row:last-child { border-bottom:none; }
.dc-df-node { font-weight:600; color:var(--nc); }
.dc-df-arrow { color:var(--text-muted); text-align:center; }
.dc-df-data code { font-size:10px; background:var(--bg-light); padding:2px 6px; border-radius:4px; font-family:'JetBrains Mono',monospace; }
.dc-df-proto { font-size:10px; color:var(--text-muted); font-weight:600; }

/* Dependency Map */
.dc-dep-map { display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:8px; }
.dc-dm-mod { padding:10px 12px; border-radius:6px; background:var(--bg-white); border:1px solid var(--border-light); }
.dc-dm-name { font-size:12px; font-weight:600; color:var(--text-primary); margin-bottom:5px; font-family:'JetBrains Mono',monospace; }
.dc-dm-deps { display:flex; flex-wrap:wrap; gap:3px; }
.dc-dm-dep { font-size:9px; padding:2px 6px; border-radius:3px; background:var(--bg-light); color:var(--text-muted); }

/* ===== SCENARIOS ===== */
.dc-scenarios-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(340px, 1fr)); gap:10px; }
.dc-scenario-card { background:var(--bg-white); border-radius:var(--radius-sm); border:1px solid var(--border-light); overflow:hidden; }
.dc-sc-header { display:flex; align-items:center; gap:10px; padding:12px 14px; }
.dc-sc-icon { width:30px; height:30px; border-radius:6px; background:var(--bg-light); display:flex; align-items:center; justify-content:center; color:var(--text-muted); font-size:13px; }
.dc-sc-title { font-size:13px; font-weight:600; color:var(--text-primary); }
.dc-sc-actors { display:flex; gap:3px; padding:0 14px 8px; flex-wrap:wrap; }
.dc-sc-actor { font-size:9px; padding:2px 6px; border-radius:3px; background:var(--bg-light); color:var(--text-muted); }
.dc-sc-flow { padding:0 14px 12px; }
.dc-sc-step { display:flex; align-items:flex-start; gap:8px; padding:4px 0; font-size:11px; color:var(--text-secondary); border-left:1px solid var(--border-light); padding-left:10px; margin-left:8px; }
.dc-sc-num { width:16px; height:16px; border-radius:50%; background:var(--bg-light); color:var(--text-secondary); display:flex; align-items:center; justify-content:center; font-size:8px; font-weight:600; flex-shrink:0; }

/* Main Flow Diagram */
.dc-main-flow { padding:16px; background:var(--bg-white); border-radius:var(--radius-sm); border:1px solid var(--border-light); overflow-x:auto; }
.dc-mf-chain { display:flex; align-items:center; gap:0; min-width:max-content; }
.dc-mf-step { display:flex; flex-direction:column; align-items:center; gap:4px; min-width:90px; padding:10px 8px; border-radius:6px; background:var(--bg-light); border:1px solid var(--border-light); }
.dc-mf-icon { width:30px; height:30px; border-radius:6px; background:var(--bg-hover); color:var(--text-muted); display:flex; align-items:center; justify-content:center; font-size:12px; }
.dc-mf-label { font-size:9px; font-weight:600; text-transform:uppercase; letter-spacing:0.3px; color:var(--text-primary); text-align:center; }
.dc-mf-sub { font-size:8px; color:var(--text-muted); text-align:center; max-width:90px; line-height:1.3; }
.dc-mf-connector { color:var(--text-muted); font-size:9px; padding:0 3px; flex-shrink:0; opacity:0.4; }

/* ===== LEGAL ===== */
.dc-legal-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:10px; }
.dc-legal-card { background:var(--bg-white); border-radius:var(--radius-sm); border:1px solid var(--border-light); overflow:hidden; }
.dc-lc-header { padding:10px 14px; font-size:12px; font-weight:600; display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--border-light); color:var(--text-primary); }
.dc-lc-header.vuk, .dc-lc-header.tms, .dc-lc-header.arsiv { background:transparent; }
.dc-lc-body { padding:10px 14px; }
.dc-lc-req { display:flex; align-items:flex-start; gap:8px; padding:4px 0; font-size:11px; color:var(--text-secondary); }
.dc-lc-req i { color:var(--text-muted); margin-top:2px; font-size:10px; flex-shrink:0; }
.dc-lc-req code { font-size:10px; background:var(--bg-light); padding:1px 5px; border-radius:3px; font-family:'JetBrains Mono',monospace; }

/* Legal Flow */
.dc-legal-flow { display:flex; align-items:stretch; gap:0; padding:14px; background:var(--bg-white); border-radius:var(--radius-sm); border:1px solid var(--border-light); overflow-x:auto; }
.dc-lf-step { min-width:130px; padding:10px; background:var(--bg-light); border-radius:6px; border:1px solid var(--border-light); }
.dc-lf-num { width:20px; height:20px; border-radius:50%; background:var(--bg-hover); color:var(--text-secondary); display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:600; margin-bottom:6px; }
.dc-lf-content strong { font-size:11px; color:var(--text-primary); display:block; margin-bottom:3px; }
.dc-lf-content p { font-size:10px; color:var(--text-muted); margin:0; line-height:1.4; }
.dc-lf-arrow { display:flex; align-items:center; padding:0 6px; color:var(--text-muted); font-size:12px; flex-shrink:0; opacity:0.4; }

/* ===== HARDWARE ===== */
.dc-hw-cat { margin-bottom:16px; }
.dc-hw-cat-title { font-size:13px; font-weight:700; color:var(--text-secondary); margin:0 0 8px; }
.dc-hw-table { background:var(--bg-white); border-radius:var(--radius-sm); overflow:hidden; border:1px solid var(--border-light); }
.dc-hw-header { display:grid; grid-template-columns:1.2fr 2fr 1fr 0.8fr; gap:8px; padding:10px 14px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; color:var(--text-muted); border-bottom:1px solid var(--border-light); background:var(--bg-light); }
.dc-hw-row { display:grid; grid-template-columns:1.2fr 2fr 1fr 0.8fr; gap:8px; padding:8px 14px; font-size:11px; border-bottom:1px solid var(--border-light); align-items:center; }
.dc-hw-row:last-child { border-bottom:none; }
.dc-hw-name { font-weight:600; color:var(--text-primary); }
.dc-hw-spec { color:var(--text-secondary); font-size:10px; }
.dc-hw-proto { color:var(--text-muted); font-size:10px; font-family:'JetBrains Mono',monospace; }
.dc-hw-status.done { color:#16a34a; font-size:10px; font-weight:600; }

/* ===== PERFORMANCE ===== */
.dc-perf-reqs { display:flex; flex-direction:column; gap:8px; }
.dc-perf-req { display:flex; align-items:center; gap:12px; padding:12px 16px; background:var(--bg-white); border-radius:var(--radius-sm); border:1px solid var(--border-light); }
.dc-pr-icon { width:36px; height:36px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0; }
.dc-pr-icon.green { background:#f0fdf4; color:#16a34a; }
.dc-pr-icon.blue { background:#eff6ff; color:#2563eb; }
.dc-pr-icon.purple { background:#f5f3ff; color:#7c3aed; }
.dc-pr-icon.orange { background:#fffbeb; color:#d97706; }
.dc-pr-icon.red { background:#fef2f2; color:#dc2626; }
.dc-pr-icon.cyan { background:#ecfeff; color:#0891b2; }
.dc-pr-body { flex:1; }
.dc-pr-body strong { font-size:13px; color:var(--text-primary); display:block; }
.dc-pr-body p { font-size:11px; color:var(--text-muted); margin:2px 0 0; }
.dc-pr-badge { padding:4px 10px; border-radius:6px; font-size:10px; font-weight:700; }
.dc-pr-badge.pass { background:#f0fdf4; color:#16a34a; }
.dc-pr-badge.fail { background:#fef2f2; color:#dc2626; }

/* Perf Test */
.dc-perf-test { background:var(--bg-white); border-radius:var(--radius-sm); border:1px solid var(--border-light); padding:16px; }
.dc-pt-controls { display:flex; gap:8px; margin-bottom:12px; flex-wrap:wrap; }
.dc-pt-status { padding:10px; text-align:center; color:var(--text-muted); font-size:12px; border-radius:6px; background:var(--bg-light); margin-bottom:12px; }
.dc-pt-results { display:flex; flex-direction:column; gap:10px; }
.dc-pt-result { padding:12px; background:var(--bg-light); border-radius:6px; border:1px solid var(--border-light); }
.dc-ptr-header { display:flex; justify-content:space-between; margin-bottom:8px; font-size:13px; color:var(--text-primary); }
.dc-ptr-header span { color:var(--text-muted); font-family:'JetBrains Mono',monospace; }
.dc-ptr-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:8px; }
.dc-ptr-grid div { text-align:center; }
.dc-ptr-grid span { font-size:9px; color:var(--text-muted); display:block; text-transform:uppercase; }
.dc-ptr-grid strong { font-size:14px; color:var(--text-primary); font-family:'JetBrains Mono',monospace; }
.dc-ptr-bar { height:4px; border-radius:2px; background:var(--border-light); overflow:hidden; }
.dc-ptr-bar div { height:100%; border-radius:2px; transition:width 0.5s; }

/* ===== SECURITY ===== */
.dc-sec-grid { display:flex; flex-direction:column; gap:6px; }
.dc-sec-card { display:flex; align-items:center; gap:12px; padding:10px 14px; background:var(--bg-white); border-radius:var(--radius-sm); border:1px solid var(--border-light); }
.dc-sec-icon { width:32px; height:32px; border-radius:8px; background:var(--primary-light); color:var(--primary); display:flex; align-items:center; justify-content:center; font-size:13px; flex-shrink:0; }
.dc-sec-body { flex:1; }
.dc-sec-name { font-size:12px; font-weight:700; color:var(--text-primary); }
.dc-sec-detail { font-size:10px; color:var(--text-muted); margin-top:2px; }
.dc-sec-badge { padding:3px 8px; border-radius:4px; font-size:9px; font-weight:700; }
.dc-sec-badge.pass { background:#f0fdf4; color:#16a34a; }

/* RBAC Table */
.dc-rbac-table { background:var(--bg-white); border-radius:var(--radius-sm); overflow:hidden; border:1px solid var(--border-light); }
.dc-rbac-header { display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1fr; gap:8px; padding:10px 14px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; color:var(--text-muted); border-bottom:1px solid var(--border-light); background:var(--bg-light); }
.dc-rbac-row { display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1fr; gap:8px; padding:6px 14px; border-bottom:1px solid var(--border-light); align-items:center; }
.dc-rbac-row:last-child { border-bottom:none; }
.dc-rbac-perm { font-size:11px; font-weight:600; color:var(--text-primary); font-family:'JetBrains Mono',monospace; }
.dc-rbac-cell { text-align:center; font-size:12px; }
.dc-rbac-cell.yes { color:#16a34a; }
.dc-rbac-cell.no { color:var(--border-light); }

/* ===== DATABASE ===== */
.dc-db-schema { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:10px; }
.dc-db-table { background:var(--bg-white); border-radius:var(--radius-sm); border:1px solid var(--border-light); overflow:hidden; }
.dc-dbt-name { padding:8px 10px; font-size:12px; font-weight:700; color:var(--primary); background:var(--primary-light); display:flex; align-items:center; gap:6px; }
.dc-dbt-cols { padding:6px 10px; }
.dc-dbt-col { font-size:10px; padding:2px 0; font-family:'JetBrains Mono',monospace; color:var(--text-secondary); border-bottom:1px solid var(--border-light); }
.dc-dbt-col:last-child { border-bottom:none; }
.dc-dbt-col.pk { color:#d97706; font-weight:600; }
.dc-dbt-col.fk { color:#2563eb; }
.dc-dbt-rel { padding:4px 10px 8px; }
.dc-dbt-rel small { font-size:9px; color:var(--text-muted); }

/* API Table */
.dc-api-table { background:var(--bg-white); border-radius:var(--radius-sm); overflow:hidden; border:1px solid var(--border-light); }
.dc-api-header { display:grid; grid-template-columns:70px 1.5fr 2fr 1fr; gap:8px; padding:10px 14px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; color:var(--text-muted); border-bottom:1px solid var(--border-light); background:var(--bg-light); }
.dc-api-row { display:grid; grid-template-columns:70px 1.5fr 2fr 1fr; gap:8px; padding:6px 14px; font-size:11px; border-bottom:1px solid var(--border-light); align-items:center; }
.dc-api-row:last-child { border-bottom:none; }
.dc-api-method { font-size:9px; font-weight:700; padding:2px 6px; border-radius:3px; text-align:center; }
.dc-api-method.post { background:#f0fdf4; color:#16a34a; }
.dc-api-method.get { background:#eff6ff; color:#2563eb; }
.dc-api-method.put { background:#fffbeb; color:#d97706; }
.dc-api-method.delete { background:#fef2f2; color:#dc2626; }
.dc-api-method.ws { background:#f5f3ff; color:#7c3aed; }
.dc-api-path code { font-size:10px; }
.dc-api-desc { color:var(--text-secondary); }
.dc-api-auth { color:var(--text-muted); font-size:10px; }

/* ===== TESTS ===== */
.dc-test-summary { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.dc-ts-bar { flex:1; height:8px; border-radius:4px; background:var(--border-light); overflow:hidden; }
.dc-ts-bar div { height:100%; border-radius:4px; transition:width 0.5s; }
.dc-test-summary span { font-size:12px; font-weight:700; color:#16a34a; }

.dc-test-suite { background:var(--bg-white); border-radius:var(--radius-sm); border:1px solid var(--border-light); margin-bottom:8px; overflow:hidden; }
.dc-tst-header { display:flex; align-items:center; justify-content:space-between; padding:12px 14px; cursor:pointer; transition:background 0.2s; }
.dc-tst-header:hover { background:var(--bg-hover); }
.dc-tst-left { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--text-primary); }
.dc-tst-left i { color:var(--primary); }
.dc-tst-right { display:flex; align-items:center; gap:8px; }
.dc-tst-count { font-size:12px; font-weight:700; color:var(--text-primary); font-family:'JetBrains Mono',monospace; }
.dc-tst-badge { padding:3px 8px; border-radius:4px; font-size:9px; font-weight:700; }
.dc-tst-badge.pass { background:#f0fdf4; color:#16a34a; }
.dc-tst-right .fa-chevron-down { font-size:10px; color:var(--text-muted); transition:transform 0.2s; }
.dc-test-suite.open .dc-tst-right .fa-chevron-down { transform:rotate(180deg); }

.dc-tst-body { max-height:0; overflow:hidden; transition:max-height 0.3s; padding:0 14px; }
.dc-test-suite.open .dc-tst-body { max-height:1000px; padding:0 14px 12px; }
.dc-tst-item { display:flex; align-items:flex-start; gap:6px; padding:4px 0; font-size:11px; }
.dc-tst-item.pass { color:var(--text-secondary); }
.dc-tst-item.pass i { color:#16a34a; margin-top:2px; font-size:10px; }

.dc-test-actions { margin:12px 0; }
.dc-test-log { background:#1e293b; border-radius:6px; min-height:60px; max-height:240px; overflow-y:auto; padding:8px; font-family:'JetBrains Mono',monospace; font-size:10px; }
.dc-tl-line { padding:2px 4px; border-radius:3px; margin-bottom:2px; color:#94a3b8; }
.dc-tl-line.pass { color:#4ade80; }
.dc-tl-line.info { color:#818cf8; }
.dc-tl-line.error { color:#f87171; }
.dc-tl-ts { color:#475569; margin-right:8px; }

/* ===== DEPLOYMENT ===== */
.dc-deploy-pipeline { display:flex; align-items:center; gap:0; padding:16px; background:var(--bg-white); border-radius:var(--radius-sm); border:1px solid var(--border-light); overflow-x:auto; justify-content:center; flex-wrap:wrap; }
.dc-dp-stage { display:flex; flex-direction:column; align-items:center; gap:4px; min-width:75px; padding:10px 10px; border-radius:6px; background:var(--bg-light); border:1px solid var(--border-light); }
.dc-dp-stage.done { border-color:var(--border); }
.dc-dp-icon { width:28px; height:28px; border-radius:6px; background:var(--bg-hover); color:var(--text-muted); display:flex; align-items:center; justify-content:center; font-size:12px; }
.dc-dp-label { font-size:10px; font-weight:600; color:var(--text-primary); }
.dc-dp-stage small { font-size:8px; color:var(--text-muted); }
.dc-dp-arrow { padding:0 4px; color:var(--text-muted); flex-shrink:0; opacity:0.4; }

/* Code Block */
.dc-code-block { background:#1e293b; border-radius:var(--radius-sm); border:1px solid #334155; overflow:hidden; margin-bottom:12px; }
.dc-cb-header { padding:8px 14px; font-size:11px; font-weight:700; color:#94a3b8; background:#0f172a; border-bottom:1px solid #334155; }
.dc-code { padding:14px; margin:0; font-family:'JetBrains Mono',monospace; font-size:11px; color:#e2e8f0; line-height:1.5; overflow-x:auto; white-space:pre; }

/* ===== TUBITAK ===== */
.dc-tb-summary { display:flex; align-items:center; gap:20px; padding:20px; background:var(--bg-white); border-radius:var(--radius-sm); border:1px solid var(--border-light); margin-bottom:16px; }
.dc-tb-score { position:relative; width:70px; height:70px; flex-shrink:0; }
.dc-tb-ring { width:70px; height:70px; }
.dc-tb-pct { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:800; color:#16a34a; }
.dc-tb-info strong { font-size:16px; color:var(--text-primary); display:block; }
.dc-tb-info p { font-size:12px; color:var(--text-muted); margin:4px 0 0; }

.dc-tb-list { display:flex; flex-direction:column; gap:4px; }
.dc-tb-item { display:grid; grid-template-columns:30px 24px 1fr auto; gap:8px; align-items:center; padding:8px 12px; border-radius:6px; background:var(--bg-white); border:1px solid var(--border-light); cursor:pointer; transition:all 0.2s; }
.dc-tb-item:hover { background:var(--bg-hover); border-color:var(--border); }
.dc-tb-num { font-size:10px; font-weight:700; color:var(--text-muted); text-align:center; font-family:'JetBrains Mono',monospace; }
.dc-tb-check i { font-size:14px; }
.dc-tb-item.done .dc-tb-check i { color:#16a34a; }
.dc-tb-item.pending .dc-tb-check i { color:var(--text-muted); }
.dc-tb-task { font-size:11px; color:var(--text-secondary); }
.dc-tb-link { font-size:10px; color:var(--primary); display:flex; align-items:center; gap:4px; white-space:nowrap; }

/* Responsive */
@media (max-width:768px) {
    .dc-scenarios-grid { grid-template-columns:minmax(0,1fr); }
    .dc-db-schema { grid-template-columns:minmax(0,1fr); }
    .dc-hw-header, .dc-hw-row { grid-template-columns:1fr 1.5fr; }
    .dc-hw-proto, .dc-hw-status, .dc-hw-header span:nth-child(3), .dc-hw-header span:nth-child(4) { display:none; }
    .dc-header { flex-direction:column; gap:8px; align-items:flex-start; }
    .dc-tabs { gap:0; }
    .dc-tab { padding:6px 10px; font-size:10px; }
    .dc-sh { font-size:13px; }
}
