:root { --navy:#1F3A5F; --gold:#C9A227; --ink:#1B2433; --muted:#6B7587; --line:#E6E9EF; --soft:#F6F7FA; --red:#D64545; --green:#2E9E6A; --amber:#B7791F; }
* { box-sizing: border-box; }
body { margin:0; font-family: Inter, "Noto Sans", "Segoe UI", system-ui, -apple-system, "DejaVu Sans", sans-serif; color:var(--ink); background:#fff; line-height:1.5; font-size:15px; }
.wrap { max-width: 1040px; margin: 0 auto; padding: 0 18px; }
.top { background: var(--navy); border-bottom: 3px solid var(--gold); }
.bar { display:flex; align-items:center; gap:22px; min-height:54px; flex-wrap:wrap; }
.brand { color:#fff; font-weight:700; text-decoration:none; letter-spacing:.01em; display:flex; align-items:center; gap:8px; }
.dot { width:10px; height:10px; border-radius:50%; background:var(--gold); display:inline-block; }
nav { display:flex; gap:4px; flex:1; }
nav a { color:rgba(255,255,255,.8); text-decoration:none; padding:6px 12px; border-radius:6px; font-size:14px; }
nav a:hover, nav a.on { background:rgba(255,255,255,.14); color:#fff; }
.who { margin-left:auto; display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.85); font-size:14px; }
button.link { background:none; border:0; color:var(--gold); cursor:pointer; font:inherit; padding:0; }
main { padding-top: 22px; padding-bottom: 30px; min-height: 60vh; }
h1 { font-size: 24px; margin: 0 0 12px; } h2 { font-size: 18px; margin: 0 0 8px; } h3 { font-size: 16px; margin: 0; }
h2.cat { margin: 28px 0 10px; padding-left: 10px; border-left: 4px solid var(--gold); }
.muted { color: var(--muted); } .small { font-size: 13px; }
.card { border:1px solid var(--line); border-radius:12px; padding:16px 18px; background:#fff; margin-bottom:14px; }
.card.narrow { max-width: 440px; margin: 40px auto; }
.grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap:14px; align-items:start; }
.grid .card { margin-bottom:0; }
.row { display:flex; gap:10px; align-items:center; } .between { justify-content:space-between; }
label { display:block; font-size:13px; font-weight:600; margin:10px 0 0; color:#33415c; }
input, select { display:block; width:100%; padding:9px 11px; margin-top:4px; border:1px solid #cfd5df; border-radius:8px; font:inherit; background:#fff; }
input:focus, select:focus { outline:2px solid rgba(201,162,39,.45); border-color:var(--gold); }
.btn { display:inline-block; padding:8px 14px; border-radius:8px; border:1px solid #cfd5df; background:#fff; color:var(--ink); text-decoration:none; font:inherit; font-size:14px; cursor:pointer; }
.btn:hover { background:var(--soft); }
.btn.primary { background:var(--navy); color:#fff; border-color:var(--navy); } .btn.primary:hover { background:#274b7a; }
.btn.danger { color:var(--red); border-color:#f0c4c4; } .btn.small { padding:4px 9px; font-size:12px; } .btn.disabled { opacity:.4; pointer-events:none; }
.btns { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:14px; }
form.inline { display:inline; } form.inline .btn { margin:0; }
.inlineform { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; } .inlineform input { width:auto; flex:1; min-width:160px; margin:0; }
.flash { padding:10px 14px; border-radius:8px; margin-bottom:12px; font-size:14px; border:1px solid; }
.flash.ok { background:#E8F6EF; border-color:#bfe5d0; color:#1b6b46; } .flash.error { background:#FDECEC; border-color:#f3c3c3; color:#a02d2d; }
.flash.info { background:#EEF3FB; border-color:#cddaf0; color:#2b4a7a; }
.pill { display:inline-block; padding:2px 9px; border-radius:20px; font-size:12px; font-weight:600; background:#EEF0F4; color:#59647a; }
.pill.on { background:#E3F4EB; color:#1E7A4F; } .pill.warn { background:#FFF3DC; color:#92600f; }
.pill.tier-free { background:#E3F4EB; color:#1E7A4F; } .pill.tier-freemium { background:#FFF3DC; color:#92600f; } .pill.tier-paid { background:#FDECEC; color:#a02d2d; }
.status { margin:8px 0 4px; font-size:14px; font-weight:600; } .status.ok { color:var(--green); } .status.fail { color:var(--red); } .status.unset { color:var(--muted); } .status.untested { color:var(--amber); }
.tablewrap { overflow-x:auto; } table { width:100%; border-collapse:collapse; font-size:14px; }
th { text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); padding:8px 10px; border-bottom:1px solid var(--line); }
td { padding:9px 10px; border-bottom:1px solid var(--line); vertical-align:top; } .acts form { margin:2px 2px 2px 0; }
.toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:6px; }
.datenav, .actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; } .datenav input { width:auto; margin:0; }
.reportframe { width:100%; height:1400px; border:1px solid var(--line); border-radius:12px; background:#fff; display:block; }
.foot { color:var(--muted); font-size:12px; padding-bottom:30px; border-top:1px solid var(--line); padding-top:14px; }
code { background:var(--soft); padding:1px 5px; border-radius:4px; font-size:13px; }
@media (max-width: 640px) { .grid { grid-template-columns: 1fr; } .who { margin-left:0; } }

.bs { max-width:820px; margin:0 auto; }
.bs details { border:1px solid var(--line); border-radius:12px; background:#fff; margin-bottom:10px; }
.bs summary { cursor:pointer; padding:13px 16px; font-weight:600; list-style:none; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.bs summary::-webkit-details-marker { display:none; }
.bs summary::before { content:"▸"; color:var(--muted); transition:transform .15s; }
.bs details[open] > summary::before { transform:rotate(90deg); }
.bs summary .wk { color:var(--muted); font-weight:400; font-size:13px; }
.bs .body { padding:2px 18px 16px; line-height:1.55; }
.bs h3 { margin:16px 0 6px; font-size:15px; color:var(--navy); }
.bs ul { margin:6px 0; padding-left:20px; } .bs li { margin-bottom:6px; }
.bs .act { border-left:3px solid var(--gold); padding:2px 0 2px 12px; margin:10px 0; }
.bs .act b { display:block; } .bs .kpi { font-size:13px; color:var(--muted); }
.bs .note { font-size:13px; color:var(--muted); border-top:1px solid var(--line); margin-top:14px; padding-top:10px; }

.src-table { font-size:14px; } .src-table td, .src-table th { padding:7px 9px; } .src-table a { text-decoration:none; color:var(--navy); font-weight:600; }
.src-n { display:inline-block; min-width:26px; height:26px; line-height:26px; text-align:center; border-radius:13px; background:var(--navy); color:#fff; font-size:13px; font-weight:700; }
.bs .src-n { flex:none; }
.bs .meta { display:grid; grid-template-columns: repeat(auto-fill, minmax(190px,1fr)); gap:4px 16px; margin:10px 0; font-size:13px; }
.bs .meta b { color:var(--muted); font-weight:600; display:block; font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
.pill.off { background:#EEF0F4; color:#59647a; } .pill.warn { background:#FFF3DC; color:#92600f; }
.bs .links a, .bs .accts a { color:var(--navy); }
.bs .accts { font-size:13px; columns:2 260px; margin:6px 0; padding-left:18px; }
.bs .limits li { color:#6a4b12; }
.bs h2.grp { margin:26px 0 8px; font-size:17px; padding-left:10px; border-left:4px solid var(--gold); }

/* Πηγές: κάθε γραμμή του πίνακα είναι το ίδιο το ακορντεόν· ανοίγει ακριβώς από κάτω της */
.bs.wide { max-width:1000px; }
.bs details.src > summary { display:grid; grid-template-columns: 34px minmax(0,1fr) 190px 64px 118px 150px 16px; gap:10px; align-items:center; padding:9px 14px; font-weight:400; }
.bs details.src > summary::before { display:none; }
.bs details.src > summary .c-title { font-weight:600; }
.bs details.src > summary::after { content:"▸"; color:var(--muted); text-align:right; }
.bs details.src[open] > summary::after { content:"▾"; }
.bs details.src[open] > summary { background:var(--soft); border-bottom:1px solid var(--line); border-radius:12px 12px 0 0; }
.bs details.src[open] > summary .c-title { color:var(--navy); }
.src-head { display:grid; grid-template-columns: 34px minmax(0,1fr) 190px 64px 118px 150px 16px; gap:10px; padding:4px 14px; font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
.bs details.src > summary { cursor:pointer; }
.bs details.src > summary:hover { background:#fafbfd; }
/* Σύμβουλος Social */
.st { display:inline-block; padding:2px 9px; border-radius:20px; font-size:12px; font-weight:600; white-space:nowrap; }
.st-lag { background:#FDECEC; color:#a02d2d; } .st-near { background:#EEF0F4; color:#59647a; } .st-lead { background:#E3F4EB; color:#1E7A4F; }
.adv table td.num, .adv table th.num { text-align:right; white-space:nowrap; }
.adv tr.hl td { background:#FFF8E6; font-weight:600; }
.adv .kpis { display:grid; grid-template-columns: repeat(auto-fill, minmax(175px,1fr)); gap:8px; margin:8px 0 12px; }
.adv .kpi-box { border:1px solid var(--line); border-radius:10px; padding:8px 10px; font-size:13px; }
.adv .kpi-box b { display:block; font-size:12px; color:var(--muted); font-weight:600; margin-bottom:2px; }
.adv .kpi-box .v { font-size:16px; font-weight:700; }
.adv .find { border-left:3px solid var(--line); padding:3px 0 3px 12px; margin:8px 0; font-size:14px; }
.adv .find.lag { border-color:var(--red); } .adv .find.content { border-color:var(--gold); } .adv .find.lead { border-color:var(--green); }
.adv .dim { color:var(--muted); }
@media (max-width: 760px) {
  .bs details.src > summary, .src-head { grid-template-columns: 34px minmax(0,1fr) auto 16px; }
  .c-role, .c-w, .c-cad { display:none; }
  .src-head span:nth-child(n+3):not(:last-child) { display:none; }
}
