/* Portal capturi datate: culori și litere Medicover (albastru #00539F, Lato) */
:root {
  --blue: #00539F;
  --blue-2: #1268B2;
  --sky: #65ADDF;
  --pale: #EAF3FB;
  --navy: #122D5C;
  --text: #404040;
  --soft: #616161;
  --line: #E6E6E6;
  --surface: #F6F6F6;
  --green: #3E8E2A;
  --green-bg: #EDF6E7;
  --red: #C0302F;
  --red-bg: #FBEAEA;
  --amber: #A86200;
  --amber-bg: #FFF4E0;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--surface); color: var(--text); font: 16px/1.5 Lato, "Segoe UI", Arial, sans-serif; }
a { color: var(--blue); }
h1, h2, h3 { color: var(--navy); line-height: 1.25; }
h1 { font-size: 28px; font-weight: 900; margin: 8px 0 8px; }
h2 { font-size: 20px; font-weight: 700; }
h3 { font-size: 16px; margin: 20px 0 8px; }
code, pre { font-family: Consolas, "SF Mono", monospace; font-size: 12px; }
pre { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; overflow-x: auto; white-space: pre-wrap; word-break: break-all; }
.wrap { max-width: 1140px; margin: 0 auto; padding: 0 16px; }
.muted { color: var(--soft); }
.bad { color: var(--red); }

.top { background: #fff; border-bottom: 4px solid var(--blue); }
.top-in { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; min-height: 72px; }
.brand img { display: block; height: 44px; width: auto; }
.app { color: var(--blue); font-weight: 700; border-left: 1px solid var(--line); padding-left: 16px; }
.top nav { margin-left: auto; display: flex; gap: 18px; }
.top nav a { text-decoration: none; font-weight: 700; }
.top nav a.out { color: var(--soft); font-weight: 400; }

main { padding: 24px 16px 40px; }
.foot { color: var(--soft); font-size: 13px; padding-bottom: 32px; }

.card { background: #fff; border-radius: 12px; border: 1px solid var(--line); padding: 24px; margin: 16px 0; }

/* autentificare */
.login { max-width: 420px; margin: 48px auto; }
.login form { display: grid; gap: 14px; margin-top: 16px; }
.login label { display: grid; gap: 4px; font-weight: 700; font-size: 14px; }
.login input { font: inherit; padding: 10px 12px; border: 1px solid #c9ced3; border-radius: 8px; }
.login input:focus { outline: 2px solid var(--sky); border-color: var(--blue); }
button { font: inherit; font-weight: 700; background: var(--blue); color: #fff; border: 0; border-radius: 8px; padding: 12px; cursor: pointer; }
button:hover { background: var(--blue-2); }
.alert { background: var(--red-bg); color: var(--red); border-radius: 8px; padding: 10px 12px; }

/* panou */
.intro p { word-break: break-word; }
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 20px 0 8px; }
.stat { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; display: grid; gap: 2px; }
.stat .k { font-size: 13px; color: var(--soft); }
.stat .v { font-size: 18px; font-weight: 900; color: var(--navy); }
.stat.bad .v { color: var(--red); }

.cal { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.day > a, .day > span { display: grid; gap: 2px; padding: 12px; border-radius: 10px; border: 1px solid var(--line); background: #fff; text-decoration: none; color: var(--text); height: 100%; }
.day > a:hover { border-color: var(--blue); box-shadow: 0 2px 8px rgba(0, 83, 159, .12); }
.day .nr { font-size: 12px; color: var(--soft); }
.day .dt { font-weight: 700; color: var(--navy); }
.day .st { font-size: 13px; font-weight: 700; }
.s-ok > * { border-left: 5px solid var(--green) !important; }
.s-ok .st { color: var(--green); }
.s-lipsa > *, .s-partial > * { border-left: 5px solid var(--red) !important; background: var(--red-bg) !important; }
.s-lipsa .st, .s-partial .st { color: var(--red); }
.s-astazi > * { border-left: 5px solid var(--amber) !important; }
.s-astazi .st { color: var(--amber); }
.s-viitor > * { background: transparent !important; border-style: dashed !important; }
.s-viitor .st { color: var(--soft); font-weight: 400; }

/* ziua */
.back { margin: 0; }
.back a { text-decoration: none; }
.cap { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 24px; }
.cap-img { max-height: 560px; overflow: auto; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.cap-img img { display: block; width: 100%; height: auto; }
.cap-info h2 { margin-top: 0; word-break: break-all; }
dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 0; }
dt { font-weight: 700; color: var(--navy); }
dd { margin: 0; }
.tsa.ok::before { content: "✓ "; color: var(--green); font-weight: 900; }
.files { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.files li { padding: 8px 10px; background: var(--surface); border-radius: 8px; }
.files a { font-weight: 700; }
.files code { display: block; color: var(--soft); word-break: break-all; margin-top: 2px; }

.prose { max-width: 860px; }
.prose li { margin: 6px 0; }

@media (max-width: 760px) {
  .cap { grid-template-columns: 1fr; }
  dl { grid-template-columns: 1fr; }
  dd { margin-bottom: 6px; }
  .top nav { margin-left: 0; width: 100%; padding-bottom: 10px; }
  .app { border: 0; padding: 0; }
}
