/* Theme Content — shared chrome.
 *
 * ONE DEFINITION, LOADED ONCE. These rules were copy-pasted into individual
 * views, so .tc-builder-switch existed identically in two files and nowhere
 * else: changing the tab padding meant editing both, and a screen that forgot
 * to copy the block rendered the same markup unstyled. That is what made the
 * page templates screen look like a different application.
 *
 * What belongs here: anything more than one screen in this area uses. A style
 * genuinely local to one screen can stay with it - the point is that shared
 * things have one home, not that no view may ever have a style.
 *
 * Loaded from views/admin/layouts/dashboard_css.php.
 */

/* The Theme Settings / Content Types switch under the portal header. */
.tc-builder-switch      { display: flex; gap: 8px; margin-bottom: 20px;
                          border-bottom: 1px solid #e2e8f0; }
.tc-builder-switch a    { padding: 11px 16px; color: #64748b; font-weight: 700;
                          border-bottom: 3px solid transparent; text-decoration: none; }
/* Flush left, so the first tab lines up with the heading above it. */
.tc-builder-switch a    { padding-left: 0; }
.tc-builder-switch a.active { color: var(--site_color_g, #20aceb);
                              border-bottom-color: var(--site_color_g, #20aceb); }

/* "Back to …" links. Same control on three screens, so it lives here. */
.tt-back, .tf-back2     { font-size: 15px; color: #64748b; text-decoration: none;
                          display: inline-flex; align-items: center; gap: 6px;
                          margin-bottom: 12px; }
.tt-back:hover, .tf-back2:hover { color: var(--site_color_g, #20aceb); }
.tt-back svg, .tf-back2 svg     { width: 15px; height: 15px; }

/* Minimum font size on this platform is 14px - nothing here goes below it. */

/* Modules — a built-in screen inside a settings group.
   Shared, because more than one module uses them and the whole point of
   this file is that a shared style has one home. */
.ts-module      { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px;
                  padding: 18px 20px; margin-top: 4px; max-width: 720px; }
.ts-module-h    { font-size: 15px; font-weight: 700; color: #0f172a; margin: 0 0 6px; }
.ts-module-note { color: #64748b; font-size: 14px; margin: 0 0 16px; }
.ts-module-empty { color: #64748b; font-size: 14px; margin: 0 0 16px; }
.ts-module-form { display: flex; flex-direction: column; gap: 6px; max-width: 420px; }
.ts-module-form label { font-size: 14px; font-weight: 600; color: #334155; margin: 8px 0 0; }
.ts-module-form input, .ts-module-form select { font-size: 14px; }
.ts-module-btn  { align-self: flex-start; margin-top: 14px; background: #0f172a; color: #fff;
                  border: 0; border-radius: 8px; padding: 10px 18px; font-size: 14px;
                  font-weight: 600; cursor: pointer; }
.ts-module-btn:hover { background: #1e293b; }
.ts-cat-list    { list-style: none; margin: 0 0 18px; padding: 0; font-size: 14px; }
.ts-cat-list ul { list-style: none; margin: 4px 0 4px 18px; padding: 0; }
.ts-cat-list li { padding: 5px 0; border-bottom: 1px solid #f1f5f9; }
.ts-cat-list ul li { border-bottom: 0; color: #475569; }
.ts-cat-name    { color: #0f172a; font-weight: 600; }
.ts-cat-list ul .ts-cat-name { font-weight: 500; }

.ts-module-result { margin-top: 14px; padding: 10px 14px; border-radius: 8px; font-size: 14px; font-weight: 600; }
.ts-module-result.is-ok    { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.ts-module-result.is-error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.ts-module-result.is-busy  { background: #f8fafc; color: #475569; border: 1px solid #e2e8f0; }
