.practice-log-role-badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.22rem .58rem;font-size:.74rem;font-weight:800;line-height:1;border:1px solid rgba(52,64,84,.14);background:#f8fafc;color:#344054;white-space:nowrap}.practice-log-role-badge.role-superadmin{background:linear-gradient(135deg,#fff7cc,#ffe08a);border-color:rgba(180,83,9,.25);color:#92400e}.practice-log-role-badge.role-moderator{background:#eef6ff;border-color:rgba(0,122,255,.24);color:#075985}.practice-log-role-badge.role-user{background:#f8fafc;color:#475467}.practice-log-role-form{display:flex;align-items:flex-end;gap:.45rem;flex-wrap:wrap;margin-top:.4rem;padding:.48rem;border-radius:16px;background:rgba(255,255,255,.76);border:1px solid rgba(119,96,73,.13)}.practice-log-role-select-wrap{display:flex;flex-direction:column;gap:.18rem;font-size:.72rem;font-weight:700;color:#667085}.practice-log-role-select-wrap select{min-width:118px;border-radius:999px;border:1px solid rgba(119,96,73,.18);padding:.38rem .65rem;background:#fff;font-weight:750;color:#34524b}.practice-log-role-reason{min-width:190px;flex:1;border:1px solid rgba(119,96,73,.18);border-radius:999px;padding:.42rem .7rem;background:#fff}.practice-log-role-save{border:0;border-radius:999px;padding:.48rem .8rem;background:#3e6f64;color:#fff;font-weight:800;cursor:pointer}.practice-log-role-save[disabled]{opacity:.55;cursor:progress}.practice-log-role-status{font-size:.76rem;color:#667085;min-height:1em}.practice-log-role-status.is-ok{color:#166534;font-weight:800}.practice-log-role-status.is-error{color:#b42318;font-weight:800}.practice-log-role-lock{font-size:.76rem;color:#92400e;font-weight:800}.therapist-family-actions .practice-log-role-form{justify-content:flex-end}.therapist-family-actions{align-items:flex-end}

.practice-log-shell{display:grid;gap:14px}.practice-log-switcher{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:4px;border-radius:999px;background:rgba(15,23,42,.06);margin-bottom:4px}.practice-log-switch{border:0;border-radius:999px;padding:8px 13px;background:transparent;color:#334155;font-weight:800;cursor:pointer}.practice-log-switch.is-active{background:#fff;color:#0f172a;box-shadow:0 1px 5px rgba(15,23,42,.12)}.practice-log-panel{background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:22px;box-shadow:0 14px 34px rgba(15,23,42,.08);padding:18px}.practice-log-header h2{margin:2px 0 6px}.practice-log-header p:last-child{margin-bottom:0;color:#64748b}.practice-log-add{margin-top:16px;border:1px solid rgba(15,23,42,.10);border-radius:16px;background:#f8fafc;overflow:hidden}.practice-log-add>summary{padding:13px 15px;font-weight:900;cursor:pointer;color:#0f172a}.practice-log-form{padding:0 15px 15px;display:grid;gap:12px}.practice-log-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.practice-log-form label,.practice-log-description{display:grid;gap:5px;color:#334155;font-weight:750}.practice-log-form input,.practice-log-form select,.practice-log-form textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:10px 11px;font:inherit;background:#fff;color:#0f172a}.practice-log-form small{color:#64748b;font-weight:500}.practice-log-description{grid-column:1/-1}.practice-log-form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.practice-log-form-message{color:#64748b;font-weight:700}.practice-log-tabs{display:flex;gap:8px;margin-top:16px;border-bottom:1px solid rgba(15,23,42,.08)}.practice-log-tab{border:0;background:transparent;padding:10px 8px;font-weight:900;color:#64748b;cursor:pointer}.practice-log-tab.is-active{color:#0f172a;border-bottom:3px solid #0f172a}.practice-log-tab:disabled{cursor:not-allowed;opacity:.5}.practice-log-list-wrap{margin-top:12px}.practice-log-list{display:grid;gap:10px}.practice-log-entry{border:1px solid rgba(15,23,42,.08);background:#fff;border-radius:16px;padding:12px 13px}.practice-log-entry:nth-child(even){background:#f8fafc}.practice-log-entry-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.practice-log-entry strong{display:block;font-size:14px;color:#0f172a}.practice-log-entry span{display:block;color:#475569;font-weight:700;margin-top:2px}.practice-log-entry-hours{color:#0f172a;font-weight:900;white-space:nowrap}.practice-log-entry p{margin:8px 0 0;color:#475569}.practice-log-entry-note{margin-top:8px;padding:8px 10px;border-radius:12px;background:#fff7ed;color:#9a3412;font-weight:700}.practice-log-empty{padding:18px;text-align:center;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px}.practice-log-empty.is-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.practice-log-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px}.practice-log-pagination span{font-weight:900;color:#334155}@media (max-width:720px){.practice-log-form-grid{grid-template-columns:1fr}.practice-log-entry-top{flex-direction:column}.practice-log-entry-hours{white-space:normal}}
.practice-log-stats-wrap{margin-top:12px}.practice-log-stats{display:grid;gap:14px}.practice-log-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.practice-log-stat-card{border:1px solid rgba(15,23,42,.08);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc);padding:13px;box-shadow:0 8px 20px rgba(15,23,42,.05)}.practice-log-stat-card span{display:block;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.practice-log-stat-card strong{display:block;margin-top:5px;color:#0f172a;font-size:20px;line-height:1.1}.practice-log-stat-card em{display:block;margin-top:6px;color:#475569;font-style:normal;font-weight:750;font-size:12px}.practice-log-stats-section{border:1px solid rgba(15,23,42,.08);border-radius:16px;background:#fff;padding:13px}.practice-log-stats-section h3{margin:0 0 10px;font-size:15px;color:#0f172a}.practice-log-type-breakdown{display:grid;gap:0;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.practice-log-type-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#fff;border-bottom:1px solid #e2e8f0}.practice-log-type-row:nth-child(even){background:#f8fafc}.practice-log-type-row:last-child{border-bottom:0}.practice-log-type-row strong{color:#0f172a}.practice-log-type-row span{color:#475569;font-weight:800;text-align:right}.practice-log-stats-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#64748b;font-weight:800;font-size:13px}.practice-log-stats-footer strong{color:#0f172a}@media (max-width:900px){.practice-log-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.practice-log-stats-grid{grid-template-columns:1fr}.practice-log-type-row{align-items:flex-start;flex-direction:column}.practice-log-type-row span{text-align:left}.practice-log-stats-footer{align-items:flex-start;flex-direction:column}}
.practice-log-admin-summary-strip{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin:.65rem 0 0;padding:.72rem .86rem;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:linear-gradient(135deg,#f8fafc,#fff7ed);color:#334155;font-size:12px;font-weight:750}.practice-log-admin-summary-strip span{display:inline-flex;align-items:center;gap:4px}.practice-log-admin-summary-strip strong{color:#0f172a}.practice-log-admin-action-strip{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;margin:.45rem 0 0;padding:.66rem .78rem;border:1px solid rgba(119,96,73,.14);border-radius:16px;background:rgba(255,255,255,.72)}.practice-log-admin-open{font-weight:900}.practice-log-admin-modal[hidden]{display:none}.practice-log-admin-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}.practice-log-admin-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.46);backdrop-filter:blur(4px)}.practice-log-admin-dialog{position:relative;z-index:1;width:min(1040px,calc(100vw - 28px));max-height:min(86vh,900px);overflow:auto;border-radius:24px;background:#fff;box-shadow:0 26px 72px rgba(15,23,42,.28);border:1px solid rgba(15,23,42,.12)}.practice-log-admin-dialog-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:18px 20px;border-bottom:1px solid #e2e8f0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}.practice-log-admin-dialog-head h2{margin:.1rem 0 .25rem;color:#0f172a}.practice-log-admin-dialog-head p{margin:0;color:#64748b}.practice-log-admin-x{width:36px;height:36px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font-size:22px;color:#334155}.practice-log-admin-body{padding:18px 20px 22px}.practice-log-admin-message{min-height:20px;margin-bottom:10px;font-weight:800;color:#475569}.practice-log-admin-message.is-ok{color:#166534}.practice-log-admin-message.is-error{color:#991b1b}.practice-log-admin-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.practice-log-admin-add{border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;padding:12px;margin-bottom:14px}.practice-log-admin-add summary{cursor:pointer;font-weight:900;color:#0f172a}.practice-log-admin-entry{border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:12px;margin-bottom:10px}.practice-log-admin-entry:nth-child(even){background:#f8fafc}.practice-log-admin-entry.is-deleted{opacity:.72;background:#f1f5f9}.practice-log-admin-entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.practice-log-admin-entry-grid label,.practice-log-admin-wide{display:block}.practice-log-admin-entry-grid span,.practice-log-admin-wide span{display:block;font-size:12px;font-weight:900;color:#64748b;margin-bottom:4px}.practice-log-admin-entry-grid input,.practice-log-admin-entry-grid select,.practice-log-admin-wide textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:9px 10px;background:#fff}.practice-log-admin-wide{margin-top:10px}.practice-log-admin-entry-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.practice-log-admin-mini{font-weight:900;color:#475569;margin-left:auto}.practice-log-admin-list{margin-top:10px}@media(max-width:900px){.practice-log-admin-stats-grid,.practice-log-admin-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.practice-log-admin-modal{align-items:stretch;padding:8px}.practice-log-admin-dialog{width:100%;max-height:calc(100vh - 16px);border-radius:18px}.practice-log-admin-stats-grid,.practice-log-admin-entry-grid{grid-template-columns:1fr}.practice-log-admin-mini{margin-left:0}}


.practice-log-admin-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;padding:10px 12px;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:#f8fafc}.practice-log-admin-toolbar .button{font-weight:900}.practice-log-admin-activity{margin-top:14px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:13px}.practice-log-admin-activity h3{margin:0 0 10px;font-size:15px;color:#0f172a}.practice-log-admin-activity-list{display:grid;gap:0;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.practice-log-admin-activity-row{display:grid;gap:3px;padding:10px 12px;background:#fff;border-bottom:1px solid #e2e8f0}.practice-log-admin-activity-row:nth-child(even){background:#f8fafc}.practice-log-admin-activity-row:last-child{border-bottom:0}.practice-log-admin-activity-row strong{color:#0f172a}.practice-log-admin-activity-row span{color:#475569;font-weight:750;font-size:12px}.practice-log-admin-activity-row em{color:#9a3412;font-style:normal;font-weight:800;font-size:12px}

/* 227: Gyakorlati napló tipográfia finomítás
   Cél: klasszikusabb, olvashatóbb betűkép; túlzott félkövér használat visszavétele. */
.practice-log-shell,
.practice-log-admin-modal,
.practice-log-role-form,
.practice-log-admin-summary-strip,
.practice-log-admin-action-strip {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 400;
    letter-spacing: 0;
}

.practice-log-shell p,
.practice-log-shell span,
.practice-log-shell small,
.practice-log-shell em,
.practice-log-admin-modal p,
.practice-log-admin-modal span,
.practice-log-admin-modal em,
.practice-log-admin-summary-strip,
.practice-log-admin-summary-strip span,
.practice-log-admin-action-strip,
.practice-log-role-status,
.practice-log-role-lock {
    font-weight: 400;
}

.practice-log-header h2,
.practice-log-admin-dialog-head h2,
.practice-log-stats-section h3,
.practice-log-admin-activity h3 {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 600;
    letter-spacing: 0;
}

.practice-log-add > summary,
.practice-log-admin-add summary,
.practice-log-tab.is-active,
.practice-log-switch.is-active,
.practice-log-role-badge,
.practice-log-admin-message,
.practice-log-admin-entry-grid span,
.practice-log-admin-wide span,
.practice-log-stat-card span,
.practice-log-stat-card strong,
.practice-log-stats-footer strong,
.practice-log-type-row strong,
.practice-log-entry strong,
.practice-log-admin-activity-row strong,
.practice-log-admin-summary-strip strong {
    font-weight: 600;
}

.practice-log-switch,
.practice-log-tab,
.practice-log-role-save,
.practice-log-admin-open,
.practice-log-admin-toolbar .button,
.practice-log-form button,
.practice-log-admin-entry-actions button,
.practice-log-form label,
.practice-log-description,
.practice-log-role-select-wrap,
.practice-log-form-message,
.practice-log-pagination span,
.practice-log-entry-hours,
.practice-log-entry span,
.practice-log-entry-note,
.practice-log-type-row span,
.practice-log-stats-footer,
.practice-log-admin-mini,
.practice-log-admin-activity-row span,
.practice-log-admin-activity-row em {
    font-weight: 500;
}

.practice-log-form input,
.practice-log-form select,
.practice-log-form textarea,
.practice-log-admin-entry-grid input,
.practice-log-admin-entry-grid select,
.practice-log-admin-wide textarea,
.practice-log-role-select-wrap select,
.practice-log-role-reason {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 400;
}

.practice-log-stat-card strong {
    font-size: 18px;
}

.practice-log-entry-hours,
.practice-log-type-row span,
.practice-log-stats-footer {
    color: #334155;
}

/* 228: gyakorlati napló nyomtatási panel */
.practice-log-print-panel {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 16px;
    background: #ffffff;
    padding: 13px;
    margin-top: 14px;
}
.practice-log-print-panel h3 {
    margin: 0 0 10px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #0f172a;
}
.practice-log-print-controls {
    display: grid;
    grid-template-columns: minmax(160px, 1.2fr) minmax(140px, 1fr) minmax(140px, 1fr) auto;
    gap: 10px;
    align-items: end;
}
.practice-log-print-controls label {
    display: grid;
    gap: 4px;
    color: #64748b;
    font-size: 12px;
    font-weight: 500;
}
.practice-log-print-controls select,
.practice-log-print-controls input {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    padding: 9px 10px;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 400;
    background: #fff;
    color: #0f172a;
}
.practice-log-print-help,
.practice-log-print-message {
    margin: 8px 0 0;
    color: #64748b;
    font-size: 12px;
    font-weight: 400;
}
.practice-log-print-message {
    min-height: 1em;
    color: #334155;
}
@media (max-width: 760px) {
    .practice-log-print-controls {
        grid-template-columns: 1fr;
    }
}

/* 230 - Családtag admin gyorsgombok és szerepkör felugró */
.practice-log-role-badge {
  font-weight: 500;
  letter-spacing: .01em;
}
.practice-log-role-subline {
  display: block;
  width: 100%;
  margin-top: .15rem;
  color: rgba(70, 84, 108, .74);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: .78rem;
  font-weight: 400;
  letter-spacing: .02em;
  line-height: 1.25;
}
.practice-log-role-subline.role-superadmin { color: #8a5a12; }
.practice-log-role-subline.role-moderator { color: #25637f; }
.practice-log-role-widget {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.practice-log-role-open {
  white-space: nowrap;
}
.practice-log-role-popover {
  position: absolute;
  right: 0;
  top: calc(100% + .55rem);
  z-index: 9999;
  width: min(360px, calc(100vw - 2rem));
  padding: .85rem;
  border-radius: 1rem;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(64,45,35,.16);
  box-shadow: 0 18px 42px rgba(28,25,23,.18);
}
.practice-log-role-popover::before {
  content: '';
  position: absolute;
  right: 1.2rem;
  top: -.45rem;
  width: .8rem;
  height: .8rem;
  transform: rotate(45deg);
  background: rgba(255,255,255,.98);
  border-left: 1px solid rgba(64,45,35,.12);
  border-top: 1px solid rgba(64,45,35,.12);
}
.practice-log-role-popover-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .75rem;
}
.practice-log-role-popover-head span {
  display: block;
  color: #667085;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 500;
}
.practice-log-role-popover-head strong {
  display: block;
  color: #1f2937;
  font-size: .98rem;
  font-weight: 600;
  margin-top: .12rem;
}
.practice-log-role-popover-x {
  width: 1.85rem;
  height: 1.85rem;
  border: 1px solid rgba(100,116,139,.22);
  border-radius: 999px;
  background: #fff;
  color: #475569;
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
}
.practice-log-role-popover .practice-log-role-form {
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: .55rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.practice-log-role-popover .practice-log-role-select-wrap {
  font-weight: 500;
}
.practice-log-role-popover .practice-log-role-select-wrap select,
.practice-log-role-popover .practice-log-role-reason {
  width: 100%;
  border-radius: .85rem;
  font-weight: 400;
}
.practice-log-role-save {
  font-weight: 600;
}
.practice-log-admin-action-strip {
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: .55rem;
}
.practice-log-admin-action-strip .button {
  min-height: 2.35rem;
  font-weight: 500;
}
