/* TIC Manual – Student UI */
.ticms-registration,
.ticms-login {
  box-sizing: border-box;
  width: min(100%, 680px);
  margin: 2.5rem auto;
  padding: 2rem;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: 0 8px 28px rgba(15, 23, 42, .07);
}

.ticms-profile {
  box-sizing: border-box;
  width: min(100%, 1100px);
  margin: 2.5rem auto;
  padding: 2rem;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: 0 8px 28px rgba(15, 23, 42, .07);
}

.ticms-registration h2,
.ticms-login h2,
.ticms-profile h2 {
  margin: 0 0 .5rem;
  font-size: clamp(1.5rem, 3vw, 1.9rem);
  line-height: 1.2;
  color: #111827;
}

.ticms-registration::before,
.ticms-login::before,
.ticms-profile::before {
  display: block;
  margin-bottom: .85rem;
  color: #6b7280;
  font-size: .95rem;
}

.ticms-registration::before { content: "Creează-ți contul pentru a folosi activitățile interactive."; }
.ticms-login::before { content: "Intră în cont pentru a continua către activitățile tale."; }
.ticms-profile::before { content: "Datele contului tău TIC Manual."; }

.ticms-registration form,
.ticms-login form { margin: 1.5rem 0 0; }

.ticms-registration p,
.ticms-login p,
.ticms-profile p { margin: 0 0 1rem; }

.ticms-registration label,
.ticms-login label {
  display: inline-block;
  margin-bottom: .4rem;
  font-weight: 600;
  font-size: .95rem;
  color: #374151;
}

.ticms-registration input[type="text"],
.ticms-registration input[type="email"],
.ticms-registration input[type="password"],
.ticms-login input[type="text"],
.ticms-login input[type="email"],
.ticms-login input[type="password"] {
  box-sizing: border-box;
  width: 100%;
  min-height: 46px;
  padding: .7rem .85rem;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  background: #fff;
  color: #111827;
  font: inherit;
  line-height: 1.35;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.ticms-registration input:focus,
.ticms-login input:focus {
  outline: none;
  border-color: #374151;
  box-shadow: 0 0 0 3px rgba(55, 65, 81, .14);
}

.ticms-registration input[type="checkbox"],
.ticms-login input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  margin: 0 .45rem 0 0;
  vertical-align: -.15rem;
}

.ticms-registration p:has(input[type="checkbox"]) label,
.ticms-login p:has(input[type="checkbox"]) label {
  display: flex;
  align-items: flex-start;
  gap: .2rem;
  font-weight: 400;
  line-height: 1.5;
}

.ticms-registration button,
.ticms-login input[type="submit"],
.ticms-login button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  padding: .7rem 1rem;
  border: 0;
  border-radius: 10px;
  background: #374151 !important;
  background-image: none !important;
  color: #fff !important;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  transition: transform .12s ease, opacity .12s ease, background .12s ease;
}

.ticms-registration button:hover,
.ticms-login input[type="submit"]:hover,
.ticms-login button:hover { background: #1f2937 !important; background-image: none !important; color: #fff !important; }

.ticms-registration button:active,
.ticms-login input[type="submit"]:active,
.ticms-login button:active { transform: translateY(1px); background: #1f2937 !important; background-image: none !important; color: #fff !important; }

/* WordPress/theme override protection: keep Student actions consistent. */
.ticms-registration form button[type="submit"],
.ticms-login form input[type="submit"],
.ticms-login form button[type="submit"],
.ticms-login .login-submit input[type="submit"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  box-shadow: none !important;
  background: #374151 !important;
  background-image: none !important;
  border: 0 !important;
  color: #fff !important;
  text-shadow: none !important;
}

.ticms-registration form button[type="submit"]:hover,
.ticms-login form input[type="submit"]:hover,
.ticms-login form button[type="submit"]:hover,
.ticms-login .login-submit input[type="submit"]:hover {
  background: #1f2937 !important;
  background-image: none !important;
  color: #fff !important;
}

.ticms-registration button:focus-visible,
.ticms-login input[type="submit"]:focus-visible,
.ticms-login button:focus-visible,
.ticms-registration a:focus-visible,
.ticms-login a:focus-visible,
.ticms-profile a:focus-visible {
  outline: 3px solid rgba(55, 65, 81, .25);
  outline-offset: 2px;
}

.ticms-registration a,
.ticms-login a,
.ticms-profile a {
  color: #374151;
  font-weight: 600;
  text-decoration: none;
}

.ticms-registration a:hover,
.ticms-login a:hover,
.ticms-profile a:hover { text-decoration: underline; }

.ticms-error,
.ticms-notice {
  box-sizing: border-box;
  margin: 0 0 1rem;
  padding: .85rem 1rem;
  border-radius: 10px;
  line-height: 1.5;
}

.ticms-error {
  border: 1px solid #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.ticms-notice {
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  color: #374151;
}

.ticms-profile p {
  padding: .85rem 0;
  border-bottom: 1px solid #eef0f3;
}

.ticms-profile p:last-child { border-bottom: 0; }

.ticms-login .login-remember { margin: .25rem 0 1.25rem; }
.ticms-login .login-submit { margin-bottom: 1rem; }
.ticms-login .login-username,
.ticms-login .login-password { margin-bottom: 1rem; }

@media (max-width: 640px) {
  .ticms-registration,
  .ticms-login,
  .ticms-profile {
    margin: 1.25rem auto;
    padding: 1.25rem;
    border-radius: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ticms-registration input,
  .ticms-login input,
  .ticms-registration button,
  .ticms-login input[type="submit"] { transition: none; }
}


.ticms-success {
  box-sizing: border-box;
  margin: 0 0 1rem;
  padding: .85rem 1rem;
  border: 1px solid #bbf7d0;
  border-radius: 10px;
  background: #f0fdf4;
  color: #166534;
  line-height: 1.5;
}

.ticms-honeypot {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}


/* Authenticated student account navigation */
.ticms-account-bar {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: .65rem 1rem;
  background: #f8fafc;
  border-bottom: 1px solid #e5e7eb;
  color: #374151;
  font-size: .95rem;
}
.ticms-account-bar-inner {
  width: min(100%, 1100px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.ticms-account-greeting { font-weight: 600; }
.ticms-account-links {
  display: flex;
  align-items: center;
  gap: .9rem;
}
.ticms-account-links a {
  color: #374151;
  text-decoration: none;
  font-weight: 600;
}
.ticms-account-links a:hover,
.ticms-account-links a:focus-visible {
  color: #111827;
  text-decoration: underline;
}
.ticms-account-links .ticms-account-logout {
  padding: .42rem .75rem;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
}
.ticms-account-links .ticms-account-logout:hover,
.ticms-account-links .ticms-account-logout:focus-visible {
  background: #f3f4f6;
  text-decoration: none;
}
@media (max-width: 600px) {
  .ticms-account-bar-inner { align-items: flex-start; flex-direction: column; gap: .5rem; }
  .ticms-account-links { width: 100%; justify-content: space-between; }
}
/* Rezultatele elevului — centralizate din tic_submissions */
.ticms-results {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: 28px;
  padding: 22px;
  border: 1px solid #dfe5e1;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 18px rgba(0,0,0,.04);
  overflow: hidden;
}
.ticms-results * { box-sizing: border-box; }
.ticms-results-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
  margin-bottom: 18px;
  min-width: 0;
}
.ticms-results-head > div:first-child { min-width: 0; }
.ticms-results h3 { margin: 0 0 5px; font-size: 1.35rem; }
.ticms-results-head p { margin: 0; color: #5f6b66; }
.ticms-results-average {
  flex: 0 1 auto;
  min-width: 170px;
  max-width: 100%;
  text-align: right;
  padding: 10px 14px;
  border-radius: 10px;
  background: #f1f8f3;
}
.ticms-results-average span { display: block; font-size: .78rem; color: #5f6b66; }
.ticms-results-average strong { display: block; font-size: 1.35rem; margin-top: 3px; white-space: nowrap; }
.ticms-results-summary {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  max-width: 100%;
  margin: 0 0 14px;
}
.ticms-results-summary span {
  max-width: 100%;
  padding: 7px 11px;
  border-radius: 999px;
  background: #f4f6f5;
  color: #43504a;
  font-size: .9rem;
}
.ticms-results-table-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.ticms-results-table {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border-collapse: collapse;
  table-layout: fixed;
}
.ticms-results-table th,
.ticms-results-table td {
  padding: 12px 10px;
  border-bottom: 1px solid #e8ece9;
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.ticms-results-table th { font-size: .82rem; color: #59645f; background: #f8faf9; }
.ticms-results-table tr:last-child td { border-bottom: 0; }
.ticms-results-table th:nth-child(1), .ticms-results-table td:nth-child(1) { width: 25%; }
.ticms-results-table th:nth-child(2), .ticms-results-table td:nth-child(2) { width: 15%; }
.ticms-results-table th:nth-child(3), .ticms-results-table td:nth-child(3) { width: 18%; }
.ticms-results-table th:nth-child(4), .ticms-results-table td:nth-child(4) { width: 12%; }
.ticms-results-table th:nth-child(5), .ticms-results-table td:nth-child(5) { width: 30%; }
.ticms-result-grade { font-weight: 700; white-space: normal; }
.ticms-result-comment { max-width: none; line-height: 1.45; }
.ticms-result-status {
  display: inline-block;
  max-width: 100%;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 600;
  white-space: normal;
}
.ticms-result-graded { background: #dff2e5; color: #24613a; }
.ticms-result-pending { background: #fff3cd; color: #765b00; }
.ticms-results-empty { padding: 15px; border-radius: 10px; background: #f7f9f8; color: #59645f; overflow-wrap: anywhere; }

@media (max-width: 700px) {
  .ticms-results-head { display: block; }
  .ticms-results-average { margin-top: 14px; text-align: left; min-width: 0; width: 100%; }
  .ticms-results { padding: 16px; }
  .ticms-results-table { display: block; }
  .ticms-results-table thead { display: none; }
  .ticms-results-table tbody,
  .ticms-results-table tr,
  .ticms-results-table td { display: block; width: 100% !important; }
  .ticms-results-table tr { padding: 12px 0; border-bottom: 1px solid #e8ece9; }
  .ticms-results-table tr:last-child { border-bottom: 0; }
  .ticms-results-table td { padding: 6px 0; border: 0; }
  .ticms-results-table td::before {
    display: block;
    margin-bottom: 2px;
    font-size: .74rem;
    font-weight: 700;
    color: #68736e;
    text-transform: uppercase;
    letter-spacing: .02em;
  }
  .ticms-results-table td:nth-child(1)::before { content: "Activitate"; }
  .ticms-results-table td:nth-child(2)::before { content: "Trimisă la"; }
  .ticms-results-table td:nth-child(3)::before { content: "Status"; }
  .ticms-results-table td:nth-child(4)::before { content: "Nota"; }
  .ticms-results-table td:nth-child(5)::before { content: "Feedback profesor"; }
}


/* Fișele mele — hub elev */
.ticms-sheets-page { width:100%; max-width:1100px; margin:0 auto; box-sizing:border-box; }
.ticms-sheets-intro { margin-bottom:24px; }
.ticms-sheets-intro h2 { margin:0 0 8px; font-size:2rem; }
.ticms-sheets-intro p { margin:0; color:#5f6b66; }
.ticms-sheets-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.ticms-sheet-card { min-width:0; padding:22px; border:1px solid #dfe5e1; border-radius:14px; background:#fff; box-shadow:0 4px 18px rgba(0,0,0,.04); }
.ticms-sheet-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.ticms-sheet-code { font-weight:800; color:#176b43; letter-spacing:.02em; }
.ticms-sheet-card h3 { margin:0 0 7px; font-size:1.2rem; }
.ticms-sheet-card p { margin:0; color:#5f6b66; line-height:1.5; }
.ticms-sheet-card-result { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:20px 0; padding:12px 14px; border-radius:10px; background:#f7f9f8; }
.ticms-sheet-card-result span { color:#68736e; font-size:.86rem; }
.ticms-sheet-card-result strong { font-size:1.2rem; }
.ticms-sheet-action { display:inline-flex; align-items:center; justify-content:center; width:100%; box-sizing:border-box; padding:11px 14px; border-radius:9px; background:#176b43; color:#fff !important; text-decoration:none !important; font-weight:700; }
.ticms-sheet-action:hover,.ticms-sheet-action:focus-visible { background:#125736; }
.ticms-result-not-sent { background:#eef2f0; color:#56615c; }
.ticms-home-sheets-card { display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1100px; margin:28px auto 0; padding:24px 28px; box-sizing:border-box; border:1px solid #dfe5e1; border-radius:16px; background:#fff; box-shadow:0 5px 22px rgba(0,0,0,.05); }
.ticms-home-sheets-card h2 { margin:3px 0 7px; }
.ticms-home-sheets-card p { margin:0; color:#5f6b66; }
.ticms-home-sheets-eyebrow { font-size:.75rem; font-weight:800; letter-spacing:.08em; color:#176b43; }
.ticms-home-sheets-card > a { flex:0 0 auto; padding:11px 16px; border-radius:9px; background:#176b43; color:#fff !important; text-decoration:none !important; font-weight:700; }
.ticms-home-sheets-card > a:hover,.ticms-home-sheets-card > a:focus-visible { background:#125736; }
@media (max-width:800px){
  .ticms-sheets-grid { grid-template-columns:1fr; }
  .ticms-home-sheets-card { align-items:flex-start; flex-direction:column; }
  .ticms-home-sheets-card > a { width:100%; text-align:center; box-sizing:border-box; }
}

/* Fișele mele — hub elev */
.ticms-sheets-page{width:100%;max-width:1100px;margin:0 auto;box-sizing:border-box}.ticms-sheets-intro{margin-bottom:24px}.ticms-sheets-intro h2{margin:0 0 8px;font-size:2rem}.ticms-sheets-intro p{margin:0;color:#5f6b66}.ticms-sheets-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ticms-sheet-card{min-width:0;padding:22px;border:1px solid #dfe5e1;border-radius:14px;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.04)}.ticms-sheet-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.ticms-sheet-code{font-weight:800;color:#176b43;letter-spacing:.02em}.ticms-sheet-card h3{margin:0 0 7px;font-size:1.2rem}.ticms-sheet-card p{margin:0;color:#5f6b66;line-height:1.5}.ticms-sheet-card-result{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:20px 0;padding:12px 14px;border-radius:10px;background:#f7f9f8}.ticms-sheet-card-result span{color:#68736e;font-size:.86rem}.ticms-sheet-card-result strong{font-size:1.2rem}.ticms-sheet-action{display:inline-flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;padding:11px 14px;border-radius:9px;background:#176b43;color:#fff!important;text-decoration:none!important;font-weight:700}.ticms-sheet-action:hover,.ticms-sheet-action:focus-visible{background:#125736}.ticms-result-not-sent{background:#eef2f0;color:#56615c}.ticms-home-sheets-card{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1100px;margin:28px auto 0;padding:24px 28px;box-sizing:border-box;border:1px solid #dfe5e1;border-radius:16px;background:#fff;box-shadow:0 5px 22px rgba(0,0,0,.05)}.ticms-home-sheets-card h2{margin:3px 0 7px}.ticms-home-sheets-card p{margin:0;color:#5f6b66}.ticms-home-sheets-eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.08em;color:#176b43}.ticms-home-sheets-card>a{flex:0 0 auto;padding:11px 16px;border-radius:9px;background:#176b43;color:#fff!important;text-decoration:none!important;font-weight:700}.ticms-home-sheets-card>a:hover,.ticms-home-sheets-card>a:focus-visible{background:#125736}
@media(max-width:800px){.ticms-sheets-grid{grid-template-columns:1fr}.ticms-home-sheets-card{align-items:flex-start;flex-direction:column}.ticms-home-sheets-card>a{width:100%;text-align:center;box-sizing:border-box}}
.ticms-sheets-section-title{margin:28px 0 12px;font-size:1.05rem;font-weight:800;color:#24312b}
.ticms-home-sheets-card-guest strong{display:block;margin-top:10px;color:#495750;font-size:.95rem}
.ticms-result-pending{background:#fff5df;color:#8a5a00}
.ticms-result-revision{background:#fff0d8;color:#8a4b08}
