/* the tutor's panel (/تدریس-خصوصی/پنل-من) */
.rtp { display: grid; gap: 16px; margin: 4px 0 30px; }
.rtp-loading { color: var(--rm-muted, #5d6475); }
.rtp-card { padding: 20px 22px; border: 1px solid var(--rm-rule, #e6e3da); border-radius: 16px; background: var(--rm-card, #fff); }
.rtp-card h2 { margin: 0 0 10px; font-size: 1.15rem; padding-inline-start: 10px; border-inline-start: 4px solid var(--rm-coral, #e5583f); }
.rtp-card h3 { margin: 16px 0 8px; font-size: 1rem; }
.rtp-state { margin: 0 0 8px; color: var(--rm-coral-text, #b8361f); font-weight: 700; }
.rtp-ok, .rtp-state.rtp-ok { color: #1d7a3e; font-weight: 700; }
.rtp-stats { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; padding: 0; list-style: none; }
.rtp-stats li { padding: 8px 12px; border-radius: 12px; background: var(--rm-soft, #f3f1ea); font-size: .9rem; }
.rtp-stats b { font-size: 1.15rem; color: var(--rm-ink, #16205b); }
.rtp-hint { margin: 6px 0; color: var(--rm-muted, #5d6475); font-size: .85rem; }
.rtp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
.rtp-wide { grid-column: 1 / -1; }
.rtp label { display: grid; gap: 3px; font-size: .9rem; }
.rtp input:not([type=radio]):not([type=checkbox]):not([type=file]), .rtp select, .rtp textarea {
  min-block-size: 38px; padding: 6px 10px; border: 1px solid var(--rm-rule, #e6e3da); border-radius: 10px; background: #fff; font: inherit; box-sizing: border-box; inline-size: 100%; }
.rtp fieldset { margin: 0; padding: 0; border: 0; }
.rtp legend { padding: 0; font-size: .9rem; }
.rtp-inline { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; }
.rtp-inline legend { inline-size: 100%; }
.rtp-inline label { display: inline-flex; align-items: center; gap: 6px; }
.rtp-photo { display: flex; align-items: center; gap: 12px; }
.rtp-photo img { border-radius: 50%; object-fit: cover; }
.rtp-subjects { display: grid; gap: 8px; }
.rtp-subject { display: grid; grid-template-columns: 2fr 1.4fr 1.2fr auto; gap: 8px; align-items: center; }
.rtp-row { display: flex; flex-wrap: wrap; align-items: end; gap: 8px 12px; margin: 6px 0; }
.rtp-row label { flex: 1 1 220px; }
.rtp-ref { flex: 1 1 280px; }
.rtp-btn { min-block-size: 40px; margin-top: 10px; padding: 0 20px; border: 0; border-radius: 12px; background: var(--rm-ink, #16205b); color: #fff !important; font: inherit; font-weight: 700; cursor: pointer; text-decoration: none !important; display: inline-flex; align-items: center; }
.rtp-btn.rtp-light { margin-top: 0; background: var(--rm-soft, #f3f1ea); color: var(--rm-ink, #16205b) !important; border: 1px solid var(--rm-rule, #e6e3da); }
.rtp-btn:disabled { opacity: .6; cursor: wait; }
.rtp-link { padding: 4px 8px; border: 0; background: none; color: var(--rm-link, #005eb9); font: inherit; cursor: pointer; }
.rtp-msg { min-block-size: 1.4em; margin: 8px 0 0; color: var(--rm-muted, #5d6475); font-size: .9rem; }
.rtp-plans { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.rtp-plan { display: flex; flex-direction: column; gap: 6px; padding: 16px; border: 1px solid var(--rm-rule, #e6e3da); border-radius: 14px; }
.rtp-plan h3 { margin: 0; }
.rtp-plan p { margin: 0; font-size: .9rem; }
.rtp-plan .rtp-price b { font-size: 1.3rem; color: var(--rm-coral-text, #b8361f); }
.rtp-plan.rtp-current { border-color: #1d7a3e; background: #f3fbf6; }
.rtp-plan .rtp-btn { margin-top: auto; align-self: flex-start; }
@media (max-width: 700px) { .rtp-grid { grid-template-columns: 1fr; } .rtp-subject { grid-template-columns: 1fr 1fr; } }
.rtp-where p { margin: 0 0 6px; font-size: .9rem; }
.rtp-map { height: 260px; border-radius: 12px; border: 1px solid var(--rm-rule, #e6e3da); margin-bottom: 6px; z-index: 0; }
/* week grid and bookings (sql/046) */
.rtp-week { display: grid; gap: 3px; margin: 10px 0; overflow-x: auto; padding-bottom: 4px; }
.rtp-week-row { display: grid; grid-template-columns: 82px repeat(16, minmax(28px, 1fr)); gap: 3px; min-width: 600px; }
.rtp-week-head span { text-align: center; font-size: .78rem; color: var(--rm-muted, #5d6475); }
.rtp-day { padding: 0 4px; border: 0; border-radius: 8px; background: none; color: var(--rm-ink, #16205b); font: inherit; font-size: .85rem; font-weight: 700; text-align: start; cursor: pointer; }
.rtp-cell { block-size: 30px; border: 1px solid var(--rm-rule, #e6e3da); border-radius: 7px; background: #fff; cursor: pointer; }
.rtp-cell:hover { border-color: #1d7a3e; }
.rtp-cell[aria-pressed="true"] { background: #1d7a3e; border-color: #1d7a3e; }
.rtp-books { margin: 0; padding: 0; list-style: none; }
.rtp-books li { padding: 10px 0; border-bottom: 1px solid var(--rm-rule, #e6e3da); }
.rtp-books .rtp-btn { min-block-size: 32px; margin-top: 6px; padding: 0 14px; }
/* acting admin, trust, inbox (sql/048) */
.rtp-acting { margin: 0 0 10px; padding: 8px 12px; border-radius: 10px; background: #fff3d6; color: #6b4700; font-weight: 700; }
.rtp-trust { display: grid; gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.rtp-trust li { display: grid; grid-template-columns: minmax(150px, 1.4fr) 2fr 52px; gap: 4px 10px; align-items: center; font-size: .9rem; }
.rtp-trust small { grid-column: 1 / -1; color: var(--rm-muted, #5d6475); font-size: .8rem; }
.rtp-bar { block-size: 8px; border-radius: 99px; background: var(--rm-soft, #f3f1ea); overflow: hidden; }
.rtp-bar i { display: block; block-size: 100%; background: #1d7a3e; }
.rtp-threads { margin: 0; padding: 0; list-style: none; }
.rtp-thread { display: grid; gap: 2px; inline-size: 100%; padding: 10px 4px; border: 0; border-bottom: 1px solid var(--rm-rule, #e6e3da); background: none; font: inherit; text-align: start; cursor: pointer; }
.rtp-thread em { font-style: normal; color: var(--rm-coral-text, #b8361f); font-size: .8rem; }
.rtp-thread span, .rtp-thread small { color: var(--rm-muted, #5d6475); font-size: .85rem; }
.rtp-chat { padding: 8px 0; }
.rtp-chat[hidden] { display: none; }
.rtp-chat-list { display: flex; flex-direction: column; gap: 6px; max-height: 280px; overflow-y: auto; }
.rtp-chat-msg { align-self: flex-end; max-width: 85%; margin: 0; padding: 6px 10px; border-radius: 12px; background: var(--rm-soft, #f3f1ea); white-space: pre-line; }
.rtp-chat-msg.me { align-self: flex-start; background: #e7f6ec; }
.rtp-chat-msg time { display: block; color: var(--rm-muted, #5d6475); font-size: .72rem; }
.rtp-chat textarea { flex: 1 1 260px; padding: 6px 10px; border: 1px solid var(--rm-rule, #e6e3da); border-radius: 10px; font: inherit; }
/* next 14 days, plans, sample questions (sql/046, 049) */
.rtp-days { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; }
.rtp-dayc { display: flex; flex-direction: column; gap: 4px; min-width: 84px; padding: 8px; border-radius: 12px; background: var(--rm-soft, #f3f1ea); text-align: center; }
.rtp-dayc small { color: var(--rm-muted, #5d6475); font-size: .78rem; }
.rtp-hour { min-block-size: 32px; border: 1px solid #9fd3b2; border-radius: 9px; background: #e7f6ec; color: #1d7a3e; font: inherit; font-weight: 700; cursor: pointer; }
.rtp-hour.s1 { border-color: #f2b8ad; background: #fde8e4; color: #b8361f; cursor: not-allowed; }
.rtp-hour.s2 { border-color: #d6d2c4; background: #fff; color: #a8a49a; text-decoration: line-through; }
.rtp-plan.rtp-boost { border-color: #f2a900; background: #fffaf0; }
.rtp-rules { padding: 12px 14px; border-radius: 12px; background: #f7f9ff; }
.rtp-rules h3 { margin-top: 0; }
.rtp-rules ul { margin: 0; padding-inline-start: 18px; display: grid; gap: 6px; font-size: .9rem; line-height: 1.9; }
.rtp-calc { margin: 12px 0; padding: 12px 14px; border: 1px dashed var(--rm-rule, #e6e3da); border-radius: 12px; }
.rtp-calc input[type=range] { inline-size: 100%; }
.rtp-calc output { font-weight: 700; color: var(--rm-ink, #16205b); }
.rtp-calc-bars { display: grid; gap: 8px; margin-top: 8px; }
.rtp-cbar { display: grid; grid-template-columns: minmax(130px, 1fr) 2fr minmax(160px, auto); gap: 4px 10px; align-items: center; font-size: .88rem; }
.rtp-bar.site i { background: #f2a900; }
.rtp-qlist { margin: 0; padding: 0; list-style: none; }
.rtp-qlist li { display: grid; gap: 2px; padding: 10px 0; border-bottom: 1px solid var(--rm-rule, #e6e3da); }
.rtp-qlist small { color: var(--rm-muted, #5d6475); }
.rtp-qs { justify-self: start; padding: 1px 8px; border-radius: 999px; font-size: .78rem; background: #fff3d6; color: #6b4700; }
.rtp-qs.s1 { background: #e7f6ec; color: #1d7a3e; }
.rtp-qs.s2, .rtp-qs.s3 { background: #fde8e4; color: #b8361f; }
@media (max-width: 700px) { .rtp-cbar { grid-template-columns: 1fr; } }
