/* Sharp Dot Rapoarte · interfața agenției, pe tokenii din sharpdot-design-language (public/sharpdot/tokens.css).
   Reguli: totul pătrat (radius 0), griuri K, un singur accent (--dot) pe vedere, modulul de 8px. */
*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--ink);font-family:"Albert Sans",ui-sans-serif,system-ui,"Segoe UI",sans-serif;font-size:14px;line-height:20px}
a{color:var(--ink)}
a:hover{color:var(--k100)}
.mono{font-family:"Martian Mono",ui-monospace,Menlo,monospace;font-size:12px;line-height:16px}
.muted{color:var(--ink-muted)}
.material-symbols-sharp{font-size:18px;vertical-align:-4px}

/* antet */
.top{background:var(--paper-raised);border-bottom:1px solid var(--line)}
.top .in{max-width:1280px;margin:0 auto;padding:0 24px;min-height:64px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:18px;font-weight:700;letter-spacing:-.01em}
.brand img{width:28px;height:28px}
.brand small{font-weight:300;color:var(--ink-muted)}
.nav{display:flex;gap:24px;flex-grow:1}
.nav a{color:var(--ink-muted);text-decoration:none;padding:22px 0 20px;border-bottom:2px solid transparent}
.nav a.on{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}
.nav a:hover{color:var(--ink)}

main{max-width:1280px;margin:0 auto;padding:40px 24px 80px;display:flex;flex-direction:column;gap:32px}
main.wide{max-width:none}
.head{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between}
.head h1{margin:4px 0 0;font-size:40px;line-height:44px;font-weight:300;letter-spacing:-.025em}
.head h1 b{font-weight:800}
.label{font-family:"Martian Mono",ui-monospace,monospace;font-size:11px;line-height:16px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}
h2{margin:0;font-size:20px;line-height:28px;font-weight:700;letter-spacing:-.01em}
h3{margin:0;font-size:16px;line-height:24px;font-weight:700}

.card{background:var(--paper-raised);border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:16px}
.card.flat{padding:0;gap:0}
.card .bar{padding:16px 24px;border-bottom:1px solid var(--line);display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.spread{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.stack{display:flex;flex-direction:column;gap:8px}

/* butoane: pătrate; primar = grafit, hover = accentul */
.btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 16px;border:1px solid var(--k90);background:var(--k90);color:var(--k0);font:inherit;font-weight:600;text-decoration:none;cursor:pointer;border-radius:0;white-space:nowrap}
.btn:hover{background:var(--dot);border-color:var(--dot);color:var(--on-dot)}
.btn.secondary{background:var(--paper-raised);color:var(--ink);border-color:var(--line-strong)}
.btn.secondary:hover{border-color:var(--ink);background:var(--paper-raised);color:var(--ink)}
.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-muted);padding:0 8px}
.btn.ghost:hover{color:var(--ink);background:var(--dot-soft)}
.btn.danger:hover{background:var(--critical);border-color:var(--critical)}
.btn.sm{height:28px;padding:0 10px;font-size:13px}
.btn:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;box-shadow:var(--focus-ring)}

/* formulare */
label.f{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
label.f small{font-weight:400;color:var(--ink-muted)}
input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],input[type=date],input[type=time],select,textarea{width:100%;border:1px solid var(--line-strong);background:var(--paper-raised);color:var(--ink);font:inherit;font-weight:400;padding:8px 10px;border-radius:0}
textarea{min-height:72px;resize:vertical;line-height:20px}
textarea.code{font-family:"Martian Mono",ui-monospace,monospace;font-size:12px;line-height:18px}
input[type=color]{width:44px;height:36px;padding:2px;border:1px solid var(--line-strong);background:var(--paper-raised)}
.check{display:inline-flex;gap:8px;align-items:center;font-weight:600}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.cols2,.cols3{grid-template-columns:1fr}}

/* tabele */
table.t{width:100%;border-collapse:collapse}
table.t th{text-align:left;font-family:"Martian Mono",monospace;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);padding:10px 24px;border-bottom:1px solid var(--line)}
table.t td{padding:12px 24px;border-bottom:1px solid var(--line);vertical-align:top}
table.t tr:last-child td{border-bottom:0}
table.t tr:hover td{background:var(--paper)}

/* status: pătrate, nu cercuri */
.sq{display:inline-block;width:8px;height:8px;margin-right:6px;vertical-align:1px;background:var(--k60)}
.tag{display:inline-flex;align-items:center;font-family:"Martian Mono",monospace;font-size:11px;line-height:16px;padding:2px 8px;border:1px solid var(--line-strong);text-transform:uppercase;letter-spacing:.03em}
.tag.final{background:var(--tint-performance);border-color:var(--k90)}
.tag.draft{background:var(--tint-content);border-color:var(--k90)}
.tag.err{background:#ffd9d3;border-color:var(--critical);color:var(--critical-on-tint)}
.live{display:inline-block;width:8px;height:8px;background:var(--dot);animation:blink 1.2s steps(2,start) infinite}
@keyframes blink{to{visibility:hidden}}

.flash{padding:12px 16px;border:1px solid var(--k90);background:var(--tint-performance)}
.flash.err{background:#ffd9d3;border-color:var(--critical)}
.empty{padding:32px 24px;color:var(--ink-muted)}

/* metric */
.metrics{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.metrics{grid-template-columns:repeat(2,1fr)}}
.metric{background:var(--paper-raised);border:1px solid var(--line);padding:16px 20px;display:flex;flex-direction:column;gap:4px}
.metric .v{font-size:32px;line-height:40px;font-weight:300;letter-spacing:-.02em}
.metric.tint-data{background:var(--tint-data)}
.metric.tint-content{background:var(--tint-content)}
.metric.tint-performance{background:var(--tint-performance)}
.metric.tint-social{background:var(--tint-social)}

/* editorul ediției: formular stânga, previzualizare dreapta */
.editor{display:grid;grid-template-columns:minmax(560px,1fr) 700px;gap:24px;align-items:start}
@media (max-width:1400px){.editor{grid-template-columns:1fr}}
.preview{position:sticky;top:16px;background:var(--paper-raised);border:1px solid var(--line);height:calc(100vh - 32px);display:flex;flex-direction:column}
.preview iframe{border:0;width:100%;flex:1;background:#F6F2F0}
.chapter{border-left:6px solid var(--k40)}
.block{border:1px solid var(--line);background:var(--paper);padding:12px;display:flex;flex-direction:column;gap:8px}
.block .spread{gap:8px}
.block.del{opacity:.4}
.suggest{border:1px dashed var(--line-strong);padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--paper)}
.suggest pre{white-space:pre-wrap;margin:0;font-family:"Martian Mono",monospace;font-size:11px;line-height:16px;max-height:160px;overflow:auto;color:var(--ink-muted)}
.toolbar{position:sticky;top:0;z-index:5;background:var(--paper);padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
details>summary{cursor:pointer;list-style:none}
details>summary::-webkit-details-marker{display:none}
details>summary .material-symbols-sharp{transition:transform .1s}
details[open]>summary .material-symbols-sharp.chev{transform:rotate(90deg)}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.thumbs figure{margin:0;border:1px solid var(--line);background:var(--paper-raised);padding:4px;display:flex;flex-direction:column;gap:4px}
.thumbs img{width:100%;height:72px;object-fit:cover;display:block}
.thumbs input{font-size:10px;padding:2px 4px}
.login{max-width:380px;margin:12vh auto;display:flex;flex-direction:column;gap:24px}
.swatch{display:inline-block;width:14px;height:14px;border:1px solid var(--k90);vertical-align:-2px;margin-right:6px}
