/* Skyproff intsidendiraport — mobile-first, sama värvikeel mis hindamise vormil (#3598db) */
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.45;
  color: #1f2d3a;
  background: #f2f5f8;
}
.wrap { max-width: 720px; margin: 0 auto; padding: 0 14px; }

.site-header {
  background: #3598db;
  border-bottom: 4px solid #e74c3c;
  color: #fff;
  padding: 18px 0 14px;
}
.site-header h1 { margin: 0; font-size: 22px; }
.site-header .sub { margin: 6px 0 0; font-size: 13px; opacity: 0.92; }

.card {
  background: #fff;
  border: 1px solid #dde5ec;
  border-radius: 10px;
  padding: 16px 14px;
  margin: 14px 0;
}
.card h2 { margin: 0 0 10px; font-size: 17px; color: #21618c; }

label { display: block; font-weight: 600; font-size: 14px; margin: 12px 0 4px; }
.req { color: #e74c3c; }
.hint { margin: 0 0 6px; font-size: 13px; color: #6b7a89; }

input[type="text"], input[type="date"], input[type="time"], textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px;
  font-size: 16px;
  font-family: inherit;
  border: 1px solid #b9c6d2;
  border-radius: 8px;
  background: #fff;
  color: inherit;
}
textarea { resize: vertical; }
input:focus, textarea:focus { outline: 2px solid #3598db; outline-offset: 1px; border-color: #3598db; }
.invalid { border-color: #e74c3c !important; background: #fdf1ef; }

.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 420px) { .grid-2 { grid-template-columns: 1fr; } }

.check { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; font-size: 15px; margin: 4px 0 14px; }
.check input { width: 24px; height: 24px; min-height: 24px; margin-top: 1px; flex: none; }
.check input.invalid { outline: 2px solid #e74c3c; }

.btn-primary, .btn-ghost {
  display: block;
  width: 100%;
  min-height: 52px;
  padding: 14px;
  font-size: 17px;
  font-weight: 700;
  border-radius: 10px;
  cursor: pointer;
}
.btn-primary { background: #3598db; color: #fff; border: none; }
.btn-primary:active { background: #21618c; }
.btn-primary:disabled { background: #9fb6c8; cursor: default; }
.btn-ghost { background: #fff; color: #6b7a89; border: 1px solid #b9c6d2; font-weight: 600; font-size: 15px; margin-top: 10px; }

.status { min-height: 1.4em; margin: 12px 0 0; font-size: 15px; font-weight: 600; white-space: pre-wrap; }
.status.ok { color: #1e8449; }
.status.err { color: #c0392b; }

.hidden { display: none; }
.foot { margin: 18px 0 40px; font-size: 13px; color: #6b7a89; text-align: center; }
