/* Account module (SiteController auth pages, UserController, BillingController, TicketController).
   The original put the CSS of the ticket pages into <head>; it is kept here (every other account page keeps its
   <style> block inline in the view, exactly like the original, and the auth pages render //site/_authStyle). */

/* ===================== TICKETS: /ticket/index.html (original <head> styles) ===================== */
/* === ОБЁРТКА === */ .tk-ihead-wrap { max-width: 715px; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin-bottom: 16px; } /* === ШАПКА === */ .tk-ihead { background: #f5f6f8; border: 1px solid #dde3ea; border-radius: 7px; padding: 10px 14px; display: flex; align-items: center; gap: 8px; box-shadow: 0 3px 10px rgba(0,0,0,0.08), 0 1px 4px rgba(0,0,0,0.06); } .tk-idot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #3CB879; box-shadow: 0 0 0 3px rgba(60,184,121,0.18); flex-shrink: 0; animation: tk-ipulse 2.2s ease-in-out infinite; } @keyframes tk-ipulse { 0%,100%{ box-shadow: 0 0 0 3px rgba(60,184,121,0.18); } 50% { box-shadow: 0 0 0 5px rgba(60,184,121,0.07); } } .tk-ihead-title { font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #374151; } /* === КАРТОЧКИ СТАТИСТИКИ === */ .tk-istats { display: flex; gap: 12px; margin-top: 10px; flex-wrap: nowrap; } .tk-istat { flex: 1; background: #fff; border: 1px solid #dde3ea; border-radius: 12px; padding: 16px 18px; box-shadow: 0 4px 14px rgba(0,0,0,0.06); transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; } .tk-istat:hover { box-shadow: 0 5px 14px rgba(0,0,0,0.10); border-color: #c7c7c7; } .tk-istat .tk-istat-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; } .tk-istat .tk-istat-ico { width: 32px; height: 32px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; color: #fff; box-shadow: 0 2px 6px rgba(0,0,0,0.12); } .tk-istat .tk-istat-ico svg { width: 16px; height: 16px; } .tk-istat-open .tk-istat-ico { background: linear-gradient(135deg, #10b981, #059669); } .tk-istat-close .tk-istat-ico { background: linear-gradient(135deg, #6b7280, #4b5563); } .tk-istat-all .tk-istat-ico { background: linear-gradient(135deg, #6366f1, #4f46e5); } .tk-istat .tk-istat-num { font-size: 26px; font-weight: 700; line-height: 1; color: #1a66aa; letter-spacing: -0.01em; } .tk-istat .tk-istat-lbl { font-size: 12px; color: #6b7280; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600; margin-bottom: 8px; } .tk-istat .tk-istat-bar { height: 6px; background: #f0f4fa; border-radius: 3px; overflow: hidden; } .tk-istat .tk-istat-bar-fill { height: 100%; border-radius: 3px; transition: width 0.6s ease; } .tk-istat-open .tk-istat-bar-fill { background: linear-gradient(90deg, #10b981, #059669); } .tk-istat-close .tk-istat-bar-fill { background: linear-gradient(90deg, #6b7280, #4b5563); } .tk-istat-all .tk-istat-bar-fill { background: linear-gradient(90deg, #6366f1, #4f46e5); } /* === ВКЛАДКИ === */ .tk-itabs { max-width: 715px; margin-bottom: 20px; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } .tk-itabs .nav-tabs { border-bottom: 1px solid #dde3ea; margin-bottom: 14px; } .tk-itabs .nav-tabs > li > a { padding: 12px 20px; font-size: 15px; font-weight: 500; color: #5a6473; border: 1px solid transparent; border-bottom: none; border-radius: 6px 6px 0 0; margin-right: 2px; margin-bottom: -1px; background: transparent; transition: background 0.15s, color 0.15s, border-color 0.15s; line-height: 1.4; } .tk-itabs .nav-tabs > li > a:hover { background: #f5f6f8; color: #2c3340; border-color: transparent; } .tk-itabs .nav-tabs > li.active > a, .tk-itabs .nav-tabs > li.active > a:hover, .tk-itabs .nav-tabs > li.active > a:focus { color: #1a66aa; background: #fff; border-color: #dde3ea #dde3ea #fff; font-weight: 600; } .tk-itabs .nav-tabs > li > a i { margin-right: 6px; color: #8b95a5; } .tk-itabs .nav-tabs > li.active > a i { color: #3e79b4; } /* === БЕЙДЖИ В ВКЛАДКАХ === */ .tk-itabs .badge { margin-left: 6px; padding: 2px 7px; font-size: 11px; font-weight: 600; line-height: 1.3; border-radius: 10px; background: #c0c7d0; color: #fff; text-shadow: none; vertical-align: 1px; } .tk-itabs .nav-tabs > li.active .badge { background: #3e79b4; } .tk-itabs .badge.tk-ibadge-info { background: #3e79b4; } .tk-itabs .badge.tk-ibadge-muted { background: #95a5a6; } .tk-itabs .badge.tk-ibadge-dark { background: #5a6473; } .tk-itabs .tab-content { padding: 0; background: transparent; border: none; }
/* === ФОРМА СОЗДАНИЯ ТИКЕТА (только внутри вкладки) === */ .tform-card{ background:#fff; border:1px solid #dde3ea; border-radius:12px; box-shadow:0 4px 14px rgba(0,0,0,0.08), 0 2px 6px rgba(0,0,0,0.05); overflow:hidden; margin-top:0; font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } .tform-head{ padding:10px 14px; background:#f5f6f8; border-bottom:1px solid #dde3ea; display:flex; align-items:center; gap:8px; color:#374151; } .tform-head::before{ content:''; display:inline-block; width:8px; height:8px; border-radius:50%; background:#3CB879; box-shadow:0 0 0 3px rgba(60,184,121,0.18); flex-shrink:0; animation:tform-pulse 2.2s ease-in-out infinite; } @keyframes tform-pulse{ 0%,100%{ box-shadow:0 0 0 3px rgba(60,184,121,0.18); } 50% { box-shadow:0 0 0 5px rgba(60,184,121,0.07); } } .tform-head .title{ margin:0; font-size:13px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:#374151; line-height:1.3; } .tform-head .title i{ display:none; } .tform-head .hint{ display:none; } .tform-hint{ padding:9px 14px; background:#f9fafb; border-bottom:1px solid #edf0f4; color:#5a6473; font-size:13px; line-height:1.5; } .tform-body{ padding:18px; font-size:13.5px; } .tform-body .control-group{ margin-bottom:14px; } .tform-body label{ font-weight:600; color:#2c3340; } .tform-body .help-block{ color:#7c818b; font-size:12px; line-height:1.4; margin-top:6px; } .tform-body input[type='text'], .tform-body select, .tform-body textarea{ border-radius:4px !important; border:1px solid #d5dae3; box-shadow:none; transition:border-color .15s ease, box-shadow .15s ease; } .tform-body input[type='text']:focus, .tform-body select:focus, .tform-body textarea:focus{ border-color:#3e79b4; outline:none; box-shadow:0 0 0 2px rgba(62,121,180,0.12); } .tform-body textarea{ width:100% !important; max-width:100%; box-sizing:border-box; min-height:160px; resize:vertical; line-height:1.6; } .tform-label-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; flex-wrap:wrap; gap:8px; } .tform-label-row label{ margin:0 !important; font-weight:600; color:#2c3340; } .tform-count{ color:#7c818b; font-size:13px; text-align:right; margin:0; } .tform-count .text-error{ color:#dc3545; font-weight:600; } .tform-actions{ padding:12px 14px; border-top:1px solid #edf0f4; background:#f9fafb; display:flex; align-items:center; flex-wrap:wrap; gap:12px; } .tform-actions .btn{ border-radius:4px; font-weight:600; font-size:14px; padding:8px 18px; margin:0; } .tform-actions .btn-primary{ background:#3e79b4 !important; border:1px solid #3e79b4 !important; background-image:none !important; text-shadow:none !important; box-shadow:none !important; color:#fff !important; } .tform-actions .btn-primary:hover{ background:#1a66aa !important; border-color:#1a66aa !important; } .tform-notify{ display:inline-flex; align-items:center; gap:6px; margin:0 0 0 auto !important; font-weight:500; color:#374151; font-size:13px; cursor:pointer; } .tform-notify input[type='checkbox']{ margin:0 !important; }
.tk-list-wrap { max-width: 715px; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 13.5px; margin-bottom: 20px; } .tk-list-card { background: #fff; border: 1px solid #dde3ea; border-radius: 7px; box-shadow: 0 3px 10px rgba(0,0,0,0.08), 0 1px 4px rgba(0,0,0,0.06); overflow: hidden; } .tk-list-scroll { max-height: 590px; overflow-y: auto; } .tk-list-wrap .tk-list-table { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; table-layout: fixed; margin: 0; } .tk-list-wrap .tk-list-table thead th { background: #f9fafb; border-bottom: 1px solid #dde3ea; padding: 9px 14px; font-weight: 600; font-size: 12px; color: #5a6473; text-transform: uppercase; letter-spacing: 0.05em; text-align: left; vertical-align: middle; } .tk-list-wrap .tk-list-table tbody tr { transition: background-color 0.15s ease; } .tk-list-wrap .tk-list-table tbody tr:hover { background-color: #f7fbff; } .tk-list-wrap .tk-list-table tbody td { padding: 9px 14px; border-bottom: 1px solid #edf0f4; color: #2c3340; vertical-align: middle; font-size: 14px; } .tk-list-wrap .tk-list-table tbody tr:last-child td { border-bottom: none; } .tk-list-id { white-space: nowrap; width: 70px; color: #7c818b; } .tk-list-status { white-space: nowrap; width: 120px; } .tk-list-date { white-space: nowrap; width: 170px; color: #5a6473; font-size: 12.5px; } .tk-list-subj { font-weight: 600; color: #2c3340; text-decoration: none; } .tk-list-subj:hover { color: #1a66aa; text-decoration: underline; } .tk-list-meta { margin-top: 2px; color: #7c818b; font-size: 13px; } .tk-list-empty { padding: 28px 14px; background: #fff; border: 1px solid #dde3ea; border-radius: 7px; box-shadow: 0 3px 10px rgba(0,0,0,0.08), 0 1px 4px rgba(0,0,0,0.06); color: #5a6473; text-align: center; font-size: 13.5px; } .tk-list-empty b { color: #3e79b4; font-weight: 600; }

/* ===================== TICKETS: /ticket/{id}.html (original <head> style) ===================== */
/* === ОБЁРТКА === */ .tview-wrap{ max-width:715px; font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size:14px; } /* === ШАПКА === */ .tview-head{ margin:0 0 16px; padding:18px 20px; background:linear-gradient(135deg, #fff 0%, #f0f4fa 100%); border:1px solid #c4d2e3; border-radius:12px; position:relative; overflow:hidden; box-shadow:0 4px 14px rgba(0,0,0,0.06); } .tview-head::before{ content:''; position:absolute; top:0; right:0; width:200px; height:100%; background:linear-gradient(135deg, transparent 0%, rgba(99,102,241,0.06) 100%); pointer-events:none; } .tview-head::after{ content:''; position:absolute; top:0; left:0; width:4px; height:100%; background:linear-gradient(180deg, #3e79b4, #6366f1); border-radius:12px 0 0 12px; } .tview-head-row{ display:flex; align-items:center; gap:12px; margin-bottom:10px; flex-wrap:wrap; position:relative; } .tview-head-icon{ width:40px; height:40px; border-radius:10px; background:linear-gradient(135deg, #3e79b4, #1a66aa); color:#fff; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 4px 12px rgba(62,121,180,0.30); flex-shrink:0; } .tview-head-icon svg{ width:20px; height:20px; } .tview-head h1{ margin:0; font-size:18px; font-weight:700; color:#1a2c4a; flex:1; line-height:1.3; } .tview-head h1 i{ display:none; } .tview-head .label{ font-size:11px; padding:4px 10px; border-radius:14px; font-weight:600; text-transform:uppercase; letter-spacing:0.04em; } .tview-head .meta{ color:#5a6473; font-size:13px; line-height:1.6; position:relative; } .tview-head .meta b{ color:#2c3340; font-weight:600; } .tview-actions{ margin-top:14px; padding-top:12px; border-top:1px solid rgba(196,210,227,0.5); position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:6px; } .tview-actions .btn{ display:inline-flex; align-items:center; justify-content:center; height:30px; padding:0 12px; margin:0; border-radius:6px; font-size:12px; font-weight:600; background:#fff; border:1px solid #c4d2e3; color:#3e79b4; background-image:none; text-shadow:none; box-shadow:0 2px 6px rgba(0,0,0,0.06); line-height:1; white-space:nowrap; transition:background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease; } .tview-actions .btn:hover{ background:#f0f4fa; border-color:#3e79b4; color:#1a66aa; box-shadow:0 4px 10px rgba(62,121,180,0.20); } .tview-actions .btn-danger{ background:linear-gradient(135deg, #ef4444, #dc2626); border-color:#dc2626; color:#fff; box-shadow:0 3px 10px rgba(239,68,68,0.25); } .tview-actions .btn-danger:hover{ background:linear-gradient(135deg, #dc2626, #b91c1c); border-color:#b91c1c; color:#fff; box-shadow:0 5px 14px rgba(239,68,68,0.35); } .tview-actions .btn-success{ background:linear-gradient(135deg, #10b981, #059669); border-color:#059669; color:#fff; box-shadow:0 3px 10px rgba(16,185,129,0.25); } .tview-actions .btn-success:hover{ background:linear-gradient(135deg, #059669, #047857); border-color:#047857; color:#fff; box-shadow:0 5px 14px rgba(16,185,129,0.35); } .tview-actions .input-append{ display:inline-flex; align-items:center; margin:0 !important; } .tview-actions .input-append select{ height:30px; padding:0 8px; margin:0 !important; border:1px solid #c4d2e3; border-right:none; border-radius:6px 0 0 6px; font-size:12px; box-shadow:none; box-sizing:border-box; line-height:30px; vertical-align:middle; } .tview-actions .input-append .btn{ border-radius:0 6px 6px 0; margin:0 !important; } /* === КАРТОЧКА ИНФО === */ .tview-card{ background:#fff; border:1px solid #dde3ea; border-radius:12px; margin:0 0 16px; box-shadow:0 4px 14px rgba(0,0,0,0.06); overflow:hidden; } .tview-grid{ margin:0 !important; width:100%; border-collapse:separate; border-spacing:0; } .tview-grid td{ padding:11px 14px; border:none; border-bottom:1px solid #edf0f4; font-size:14px; color:#2c3340; vertical-align:middle; } .tview-grid tr:last-child td{ border-bottom:none; } .tview-grid td:first-child{ width:30%; white-space:nowrap; background:#f9fafb; font-weight:600; color:#5a6473; font-size:13px; border-right:1px solid #edf0f4; } /* === ЧАТ-БЛОК === */ .tview-chat{ background:linear-gradient(180deg, #f8fafc 0%, #fff 100%); border:1px solid #dde3ea; border-radius:12px; padding:20px; margin:0 0 16px; box-shadow:0 4px 14px rgba(0,0,0,0.06); } .bubble-row{ display:flex; gap:12px; margin-bottom:18px; align-items:flex-start; } .bubble-row:last-child{ margin-bottom:0; } .bubble-row.user{ flex-direction:row-reverse; } .bubble-avatar{ width:42px; height:42px; border-radius:50%; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; color:#fff; box-shadow:0 2px 6px rgba(0,0,0,0.15); position:relative; } .bubble-avatar svg{ width:22px; height:22px; } .bubble-row.support .bubble-avatar{ background:linear-gradient(135deg, #1a66aa, #6366f1); } .bubble-row.support .bubble-avatar::after{ content:''; position:absolute; bottom:-2px; right:-2px; width:18px; height:18px; background:#f59e0b; border:2px solid #fff; border-radius:50%; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'><polygon points='12,2 15,9 22,9 16,14 18,21 12,17 6,21 8,14 2,9 9,9'/></svg>"); background-repeat:no-repeat; background-position:center; background-size:11px 11px; } .bubble-row.user .bubble-avatar{ background:linear-gradient(135deg, #6b7280, #4b5563); } .bubble-row.question .bubble-avatar{ background:linear-gradient(135deg, #6b7280, #4b5563); } .bubble-content{ max-width:80%; min-width:0; } .bubble-row.support .bubble-content{ flex:1; } .bubble-meta{ font-size:14px; color:#9ca3af; margin-bottom:5px; padding:0 4px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; } .bubble-row.user .bubble-meta{ justify-content:flex-end; } .bubble-meta a{ color:#3e79b4; text-decoration:none; } .bubble-meta a:hover{ text-decoration:underline; } .bubble-name{ font-weight:600; color:#1a66aa; } .bubble-meta-edit{ background:#fff; border:1px solid #c4d2e3; border-radius:4px; padding:1px 8px; font-size:11px; color:#3e79b4 !important; font-weight:600; margin-left:4px; transition:background 0.15s, border-color 0.15s; } .bubble-meta-edit:hover{ background:#f0f4fa; border-color:#3e79b4; text-decoration:none !important; } .bubble{ padding:11px 15px; border-radius:14px; font-size:14.5px; line-height:1.6; color:#2c3340; box-shadow:0 1px 3px rgba(0,0,0,0.06); white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; max-height:380px; overflow:auto; } .bubble-row.support .bubble{ background:#fff; border:1px solid #dde3ea; border-top-left-radius:4px; } .bubble-row.user .bubble{ background:linear-gradient(135deg, #3e79b4, #1a66aa); color:#fff; border-top-right-radius:4px; box-shadow:0 2px 8px rgba(62,121,180,0.25); } .bubble-row.question .bubble{ background:#fff; border:1px solid #dde3ea; border-top-left-radius:4px; } .bubble-row.question{ padding-bottom:18px; margin-bottom:18px; position:relative; } .bubble-row.question::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:linear-gradient(90deg, transparent 0%, #c4d2e3 20%, #6366f1 50%, #c4d2e3 80%, transparent 100% ); } .bubble-subj{ font-size:15px; font-weight:700; color:#1a66aa; padding:8px 14px; background:#f0f4fa; border:1px solid #c4d2e3; border-radius:8px; margin-bottom:8px; display:inline-block; } .bubble-system{ display:flex; align-items:center; justify-content:center; gap:8px; margin:14px auto; padding:7px 14px; background:#f9fafb; border:1px solid #edf0f4; border-radius:14px; color:#6b7280; font-size:12.5px; max-width:fit-content; } .bubble-system .ico{ width:14px; height:14px; flex-shrink:0; color:#9ca3af; } /* === КНОПКА «НАЗАД» === */ .tview-back{ margin:10px 0 16px; } .tview-back .btn{ display:inline-flex; align-items:center; gap:6px; background:#fff; border:1px solid #c4d2e3; color:#3e79b4; background-image:none; text-shadow:none; box-shadow:0 2px 6px rgba(0,0,0,0.06); border-radius:6px; font-size:13px; font-weight:600; padding:8px 16px; line-height:1; transition:background 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s; } .tview-back .btn i{ margin:0 !important; line-height:1; vertical-align:middle; } .tview-back .btn:hover{ background:#f0f4fa; border-color:#3e79b4; color:#1a66aa; box-shadow:0 4px 10px rgba(62,121,180,0.18); } /* === ФОРМА ОТВЕТА === */ .tview-answer{ background:#fff; border:1px solid #dde3ea; border-radius:12px; padding:18px; margin:0 0 20px; box-shadow:0 4px 14px rgba(0,0,0,0.06); } .tview-answer-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; flex-wrap:wrap; gap:8px; } .tview-answer-head label, .tview-answer-label{ font-weight:600; font-size:14px; color:#2c3340; margin:0 !important; display:inline-block; } .tview-answer textarea{ width:100% !important; max-width:100%; box-sizing:border-box; height:160px; min-height:160px; padding:10px 12px; border:1px solid #d5dae3; border-radius:6px; font-size:14px; line-height:1.6; resize:vertical; font-family:inherit; color:#2c3340; background:#fff; transition:border-color 0.15s, box-shadow 0.15s; } .tview-answer textarea:focus{ border-color:#3e79b4; outline:none; box-shadow:0 0 0 2px rgba(62,121,180,0.12); } .tview-count{ color:#7c818b; font-size:12px; text-align:right; } #tcount.text-error{ color:#dc3545; font-weight:600; } .tview-answer .btn{ margin-right:5px; margin-bottom:6px; border-radius:6px; font-weight:600; transition:background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, border-color 0.2s ease; display:inline-flex; align-items:center; justify-content:center; gap:4px; line-height:1; vertical-align:middle; } .tview-answer .btn i{ margin:0 !important; line-height:1; vertical-align:middle; } .tview-answer .btn-primary{ background:#3e79b4 !important; background-image:linear-gradient(135deg, #3e79b4, #1a66aa) !important; border:1px solid #1a66aa !important; text-shadow:none !important; color:#fff !important; font-size:14.5px; padding:12px 22px; box-shadow:0 3px 10px rgba(62,121,180,0.30) !important; } .tview-answer .btn-primary:hover{ background:#1a66aa !important; background-image:linear-gradient(135deg, #1a66aa, #0d3d5c) !important; border-color:#0d3d5c !important; color:#fff !important; box-shadow:0 5px 14px rgba(62,121,180,0.40) !important; } .tview-answer .btn-danger{ background:#ef4444 !important; background-image:linear-gradient(135deg, #ef4444, #dc2626) !important; border:1px solid #dc2626 !important; color:#fff !important; background-color:#ef4444 !important; text-shadow:none !important; font-size:14.5px; padding:12px 20px; box-shadow:0 3px 10px rgba(239,68,68,0.30) !important; } .tview-answer .btn-danger:hover{ background:#dc2626 !important; background-image:linear-gradient(135deg, #dc2626, #b91c1c) !important; border-color:#b91c1c !important; color:#fff !important; box-shadow:0 5px 14px rgba(239,68,68,0.40) !important; } .tview-answer .btn-small{ background:#fff; border:1px solid #c4d2e3; color:#3e79b4; background-image:none; text-shadow:none; box-shadow:0 2px 5px rgba(0,0,0,0.05); font-size:12.5px; padding:7px 12px; } .tview-answer .btn-small:hover{ background:#f0f4fa; border-color:#3e79b4; color:#1a66aa; box-shadow:0 3px 8px rgba(62,121,180,0.18); } .tview-answer .form-actions{ background:transparent; border:none; padding:0; margin:14px 0 0 !important; display:flex; align-items:center; flex-wrap:wrap; gap:6px; } .tview-answer .form-actions .pull-right{ margin-left:auto; } .tview-answer .checkbox{ display:block; margin-bottom:4px; font-size:13px; color:#3a4252; } .tview-autoclose{ margin-top:14px; padding:10px 14px; background:#f0f4fa; border:1px solid #c4d2e3; border-left:4px solid #6366f1; border-radius:6px; font-size:13px; color:#5a6473; line-height:1.5; }

/* ===================== engine additions of the account module ===================== */
/* auth pages: recovery method radios (e-mail link | SMS), demo-mode notes, one-time code field */
.auth-form .auth-radios{margin:4px 0 14px}
.auth-form .auth-radios label.radio{font-size:13px;margin-bottom:6px;padding-left:20px}
.auth-form .auth-radios label.radio input{margin:-2px 0 0 -20px}
.auth-form .auth-radios .muted{font-size:12px}
.auth-body .demo-note{font-size:12px;color:#8a6d3b;background:#fcf8e3;border:1px solid #fbeed5;border-radius:8px;padding:8px 12px;margin:0 0 14px}
.auth-form input.otp-code{font-family:Monaco,Consolas,"Courier New",monospace;font-size:20px;letter-spacing:6px;text-align:center}
/* ticket form: server-side validation errors (the original validated client-side only) */
.tform-body .alert{margin-bottom:14px;border-radius:6px}
.tform-body .control-group.error input,.tform-body .control-group.error select,.tform-body .control-group.error textarea{border-color:#b94a48}
/* ticket view: the «Закрыть тикет» action of the original is a link, the engine posts a form */
.tview-actions form{display:inline;margin:0}
/* /billing/pay.html: top-up request form + list of requests (the original only shows the card requisites) */
.pay-request{max-width:550px;margin:0 auto 16px;background:#fff;border:1px solid #dde3ea;border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,0.06);overflow:hidden;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;font-size:13.5px}
.pay-request__head{padding:10px 14px;background:#f5f6f8;border-bottom:1px solid #dde3ea;display:flex;align-items:center;gap:8px}
.pay-request__body{padding:16px 18px}
.pay-request__body label{font-weight:600;color:#374151;font-size:13px}
.pay-request__body input[type=text],.pay-request__body select,.pay-request__body textarea{border:1px solid #d5dae3;border-radius:5px;box-shadow:none}
.pay-request__body select{width:100%;box-sizing:border-box;height:32px}
.pay-request__body textarea{width:100%;box-sizing:border-box;min-height:60px;resize:vertical}
.pay-request__body .help-block{font-size:12.5px;color:#6b7280}
.pay-request__body .amounts .btn{margin-right:4px}
.pay-request__body .alert{margin-bottom:14px}
.pay-request__foot{padding:12px 18px;background:#f9fafb;border-top:1px solid #edf0f4;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pay-request__foot .hint{font-size:12.5px;color:#7c818b}
.pay-request table{margin:0;font-size:13px}
.pay-request table th{background:#f9fafb;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:#5a6473;font-weight:600}
.pay-request table td{vertical-align:middle}
.pay-request .req-comment{display:block;color:#7c818b;font-size:12px}
