﻿/* ============================================================
   CAMINHADA FORMS â€” GitHub Dark Theme
   ============================================================ */

:root {
    /* Base */
    --bg:           #0d1117;
    --bg-deep:      #010409;
    --surface:      #161b22;
    --surface-alt:  #21262d;
    --surface-hover:#292e36;

    /* Text */
    --ink:          #e6edf3;
    --ink-soft:     #c9d1d9;
    --muted:        #8b949e;
    --muted-dark:   #6e7681;

    /* Borders */
    --line:         #30363d;
    --line-active:  #388bfd;

    /* Accents */
    --blue:         #1f6feb;
    --blue-hover:   #388bfd;
    --blue-muted:   rgba(31,111,235,.12);
    --green:        #238636;
    --green-hover:  #2ea043;
    --green-muted:  rgba(35,134,54,.12);
    --red:          #f85149;
    --red-muted:    rgba(248,81,73,.1);
    --purple:       #bc8cff;
    --orange:       #f9826c;

    /* Misc */
    --shadow:       0 8px 24px rgba(1,4,9,.5);
    --radius:       6px;
    --radius-md:    10px;
    --radius-full:  9999px;

    /* Nav */
    --nav-bg:       rgba(13,17,23,.9);

    /* Legacy aliases (manter compatibilidade) */
    --accent:       #1f6feb;
    --accent-dark:  #388bfd;
    --success:      #238636;
    --error:        #f85149;
    --bg-alt:       #161b22;
    --surface-strong: #21262d;
    --shadow-old:   0 8px 24px rgba(1,4,9,.5);
    --radius-xl:    10px;
    --radius-lg:    10px;
    --radius-md-old:10px;
}

/* Dummy legacy selectors to avoid broken references */
.theme-admin {}

*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; scroll-behavior: smooth; }

body {
    margin: 0;
    background-color: var(--bg);
    color: var(--ink);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

a { color: var(--blue-hover); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; display: block; }
h1,h2,h3,h4,h5,h6 { margin:0; font-weight:600; }
p { margin:0; }
ul,ol { margin:0; padding:0; list-style:none; }

.gradient-text {
    background: linear-gradient(90deg, #f9826c 0%, #c084fc 50%, #79c0ff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* â”€â”€ NAVIGATION â”€â”€ */
.gh-nav {
    position: sticky; top: 0; z-index: 100;
    background: var(--nav-bg); backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--line);
    padding: 0 24px; height: 62px;
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.gh-nav-brand { font-weight:700; font-size:1rem; color:var(--ink); display:flex; align-items:center; gap:10px; }
.gh-nav-links { display:flex; align-items:center; gap:6px; }
.gh-nav-links a { color:var(--ink-soft); font-size:.875rem; font-weight:500; padding:6px 12px; border-radius:var(--radius); transition:background .15s,color .15s; }
.gh-nav-links a:hover { background:var(--surface-alt); color:var(--ink); text-decoration:none; }

/* â”€â”€ CONTAINERS â”€â”€ */
.gh-container        { width:min(1280px,calc(100% - 48px)); margin:0 auto; padding:40px 0 80px; }
.gh-container-narrow { width:min(860px,calc(100% - 48px));  margin:0 auto; padding:40px 0 80px; }
.gh-form-page        { max-width:680px; margin:0 auto; padding:40px 24px 80px; }
.gh-auth-wrap {
    min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px;
    background: radial-gradient(ellipse 80% 50% at 50% -10%, rgba(124,58,237,.12), transparent), var(--bg);
}

/* â”€â”€ CARDS â”€â”€ */
.gh-card { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden; }
.gh-card-body { padding:24px; }
.gh-card-header {
    padding:14px 24px; border-bottom:1px solid var(--line);
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    background:var(--surface-alt);
}
.gh-card-header h2,.gh-card-header h3 { font-size:1rem; font-weight:600; }

/* â”€â”€ FORMS & INPUTS â”€â”€ */
.gh-form { display:grid; gap:16px; }
.gh-form-group { display:grid; gap:8px; }
.gh-form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.gh-label { font-size:.875rem; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:4px; }
.gh-label-req { color:var(--red); font-size:.75rem; }

.gh-input,.gh-textarea,.gh-select {
    width:100%; padding:8px 12px;
    font:inherit; font-size:.9375rem; color:var(--ink);
    background:var(--bg); border:1px solid var(--line); border-radius:var(--radius);
    outline:none; transition:border-color .15s,box-shadow .15s;
}
.gh-textarea { min-height:100px; resize:vertical; }
.gh-input:focus,.gh-textarea:focus,.gh-select:focus {
    border-color:var(--line-active); box-shadow:0 0 0 3px rgba(56,139,253,.2);
}
.gh-input::placeholder,.gh-textarea::placeholder { color:var(--muted-dark); }
.gh-input-error { border-color:var(--red) !important; }
.gh-select option { background:var(--surface); }
.gh-field-hint  { font-size:.8rem; color:var(--muted); }
.gh-field-error { font-size:.8rem; color:var(--red); }
.gh-check-row { display:flex; align-items:center; gap:8px; }
.gh-check-row input[type=checkbox] { width:16px; height:16px; accent-color:var(--blue); cursor:pointer; }
.gh-check-row label { font-size:.875rem; color:var(--ink-soft); cursor:pointer; }

/* â”€â”€ BUTTONS â”€â”€ */
.gh-btn {
    display:inline-flex; align-items:center; justify-content:center; gap:6px;
    padding:8px 16px; font:inherit; font-size:.875rem; font-weight:600;
    border-radius:var(--radius); border:1px solid transparent; cursor:pointer;
    white-space:nowrap; line-height:1.4;
    transition:background .15s,border-color .15s,transform .1s;
    text-decoration:none !important;
}
.gh-btn:hover  { transform:translateY(-1px); }
.gh-btn:active { transform:translateY(0); }
.gh-btn-green  { background:var(--green);       border-color:rgba(240,246,252,.1); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.1); }
.gh-btn-green:hover { background:var(--green-hover); color:#fff; }
.gh-btn-blue   { background:var(--blue);        border-color:rgba(240,246,252,.1); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.1); }
.gh-btn-blue:hover  { background:var(--blue-hover);  color:#fff; }
.gh-btn-outline{ background:var(--surface-alt); border-color:var(--line);          color:var(--ink-soft); }
.gh-btn-outline:hover { background:var(--surface-hover); border-color:var(--line-active); color:var(--ink); }
.gh-btn-danger { background:transparent;        border-color:var(--line);          color:var(--red); }
.gh-btn-danger:hover { background:var(--red-muted); border-color:var(--red); }
.gh-btn-ghost  { background:transparent; border-color:transparent; color:var(--muted); }
.gh-btn-ghost:hover  { background:var(--surface-alt); color:var(--ink); }
.gh-btn-sm   { padding:4px 10px;   font-size:.8125rem; }
.gh-btn-lg   { padding:12px 24px;  font-size:1rem; border-radius:8px; }
.gh-btn-full { width:100%; }

/* â”€â”€ ALERTS â”€â”€ */
.gh-alert { padding:12px 16px; border-radius:var(--radius); border:1px solid transparent; font-size:.875rem; display:flex; align-items:flex-start; gap:8px; }
.gh-alert-success { background:var(--green-muted); border-color:rgba(35,134,54,.25); color:#3fb950; }
.gh-alert-error   { background:var(--red-muted);   border-color:rgba(248,81,73,.25); color:#ff7b72; }
.gh-alert-info    { background:var(--blue-muted);  border-color:rgba(31,111,235,.25); color:#79c0ff; }

/* â”€â”€ TABLES â”€â”€ */
.gh-table-wrap { overflow-x:auto; }
.gh-table { width:100%; border-collapse:collapse; font-size:.875rem; }
.gh-table th { padding:8px 16px; text-align:left; color:var(--muted); font-size:.8125rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; border-bottom:1px solid var(--line); background:var(--surface-alt); }
.gh-table td { padding:12px 16px; border-bottom:1px solid var(--line); color:var(--ink-soft); vertical-align:middle; }
.gh-table tr:last-child td { border-bottom:none; }
.gh-table tbody tr:hover { background:var(--surface-alt); }

/* â”€â”€ TABS â”€â”€ */
.gh-tabs { display:flex; border-bottom:1px solid var(--line); margin-bottom:24px; overflow-x:auto; }
.gh-tab {
    padding:10px 16px; font-size:.875rem; font-weight:600; color:var(--muted);
    border:none; border-bottom:2px solid transparent; background:none; cursor:pointer;
    white-space:nowrap; transition:color .15s; text-decoration:none;
    display:inline-flex; align-items:center; gap:6px; margin-bottom:-1px;
}
.gh-tab:hover { color:var(--ink); text-decoration:none; }
.gh-tab.active { color:var(--ink); border-bottom-color:var(--orange); }

/* â”€â”€ BADGES â”€â”€ */
.gh-badge { display:inline-flex; align-items:center; padding:2px 8px; border-radius:var(--radius-full); font-size:.75rem; font-weight:600; border:1px solid transparent; }
.gh-badge-green { background:var(--green-muted); color:#3fb950; border-color:rgba(35,134,54,.2); }
.gh-badge-gray  { background:var(--surface-alt); color:var(--muted); border-color:var(--line); }
.gh-badge-red   { background:var(--red-muted);   color:#ff7b72;  border-color:rgba(248,81,73,.2); }

/* â”€â”€ HERO â”€â”€ */
.gh-hero { padding:80px 24px 60px; text-align:center; position:relative; overflow:hidden; }
.gh-hero::before {
    content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
    width:100%; max-width:900px; height:400px; pointer-events:none;
    background:
        radial-gradient(ellipse 70% 60% at 50% 0%, rgba(124,58,237,.18), transparent 65%),
        radial-gradient(ellipse 40% 40% at 20% 50%, rgba(249,130,108,.1), transparent 60%),
        radial-gradient(ellipse 40% 40% at 80% 50%, rgba(121,192,255,.1), transparent 60%);
}
.gh-hero-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:var(--radius-full); border:1px solid rgba(188,140,255,.3); background:rgba(188,140,255,.08); color:var(--purple); font-size:.8125rem; font-weight:600; margin-bottom:24px; }
.gh-hero h1 { font-size:clamp(2.5rem,6vw,4.5rem); line-height:1.1; letter-spacing:-.05em; margin-bottom:20px; }
.gh-hero > p { font-size:1.125rem; max-width:56ch; margin:0 auto 32px; color:var(--muted); }

/* â”€â”€ FORM CARDS GRID â”€â”€ */
.gh-forms-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; }
.gh-form-card {
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md);
    padding:20px 24px; display:flex; flex-direction:column; gap:12px;
    transition:border-color .2s,box-shadow .15s,transform .15s;
}
.gh-form-card:hover { border-color:var(--line-active); box-shadow:0 0 0 1px var(--blue),var(--shadow); transform:translateY(-2px); text-decoration:none; }
.gh-form-card-title { font-size:1rem; font-weight:600; color:var(--blue-hover); }
.gh-form-card-desc  { font-size:.875rem; color:var(--muted); line-height:1.5; }
.gh-form-card-footer { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:12px; border-top:1px solid var(--line); font-size:.8125rem; color:var(--muted); }

/* â”€â”€ PUBLIC FORM PAGE â”€â”€ */
.gh-form-header { margin-bottom:28px; }
.gh-form-header h1 { font-size:1.75rem; line-height:1.25; }
.gh-form-header p  { margin-top:8px; font-size:.9375rem; color:var(--muted); }
.gh-description-content { margin-top:16px; font-size:.9375rem; color:var(--muted); line-height:1.7; }
.gh-description-content iframe { width:100%; height:420px; border:0; border-radius:8px; margin:12px 0; display:block; }
.gh-description-content h1,.gh-description-content h2,.gh-description-content h3 { color:var(--ink-soft); margin:16px 0 6px; }
.gh-description-content strong { color:var(--ink-soft); }
.gh-description-content a { color:var(--blue-hover); }
.gh-description-content ul,.gh-description-content ol { list-style:initial; padding-left:20px; margin:8px 0; }
.gh-description-content li { color:var(--muted); margin:4px 0; }

/* Option chips */
.gh-option-grid { display:flex; gap:8px; flex-wrap:wrap; margin-top:4px; }
.gh-option-chip { position:relative; display:inline-flex; }
.gh-option-chip input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.gh-option-chip span { padding:6px 14px; border-radius:var(--radius-full); border:1px solid var(--line); background:var(--surface-alt); color:var(--ink-soft); font-size:.875rem; cursor:pointer; transition:background .15s,border-color .15s; user-select:none; }
.gh-option-chip input:checked + span { background:var(--blue-muted); border-color:var(--blue); color:var(--blue-hover); }

/* â”€â”€ ADMIN LAYOUT â”€â”€ */
.gh-admin-header { background:var(--surface); border-bottom:1px solid var(--line); padding:0 32px; height:60px; display:flex; align-items:center; justify-content:space-between; gap:16px; position:sticky; top:0; z-index:100; }
.gh-admin-brand { font-weight:700; font-size:1rem; color:var(--ink); display:flex; align-items:center; gap:8px; text-decoration:none; }
.gh-admin-brand:hover { text-decoration:none; }
.gh-admin-nav { display:flex; align-items:center; gap:6px; }
.gh-admin-nav a { padding:6px 12px; border-radius:var(--radius); font-size:.875rem; color:var(--muted); transition:background .15s,color .15s; font-weight:500; }
.gh-admin-nav a:hover { background:var(--surface-alt); color:var(--ink); text-decoration:none; }
.gh-admin-content { width:min(1200px,calc(100% - 48px)); margin:0 auto; padding:32px 0 80px; }
.gh-page-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:24px; }
.gh-page-header h1 { font-size:1.5rem; }
.gh-page-header p  { margin-top:4px; font-size:.875rem; color:var(--muted); }

/* â”€â”€ STATS â”€â”€ */
.gh-stats { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:24px; }
.gh-stat  { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md); padding:18px 24px; flex:1; min-width:140px; }
.gh-stat-value { font-size:2rem; font-weight:700; color:var(--ink); line-height:1; }
.gh-stat-label { font-size:.8125rem; color:var(--muted); margin-top:4px; }

/* â”€â”€ AUTH CARD â”€â”€ */
.gh-auth-logo { font-size:2rem; margin-bottom:16px; text-align:center; }
.gh-auth-card { width:min(340px,100%); background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md); padding:24px; }
.gh-auth-title { font-size:1.125rem; font-weight:600; text-align:center; margin-bottom:20px; }
.gh-auth-footer { margin-top:16px; padding-top:16px; border-top:1px solid var(--line); font-size:.8125rem; color:var(--muted); text-align:center; }

/* â”€â”€ EMPTY STATE â”€â”€ */
.gh-empty { padding:48px 24px; text-align:center; color:var(--muted); border:1px dashed var(--line); border-radius:var(--radius-md); }
.gh-empty h3 { color:var(--ink-soft); margin-bottom:8px; font-size:1rem; }

.gh-divider { border:none; border-top:1px solid var(--line); margin:16px 0; }

/* â”€â”€ QUILL DARK â”€â”€ */
.ql-toolbar.ql-snow  { background:var(--surface-alt) !important; border:1px solid var(--line) !important; border-bottom:none !important; border-radius:var(--radius) var(--radius) 0 0 !important; }
.ql-container.ql-snow{ background:var(--bg) !important; border:1px solid var(--line) !important; border-radius:0 0 var(--radius) var(--radius) !important; color:var(--ink); font-size:.9375rem; min-height:200px; }
.ql-editor { min-height:200px; color:var(--ink); }
.ql-editor.ql-blank::before { color:var(--muted-dark) !important; font-style:italic; }
.ql-snow .ql-stroke { stroke:var(--muted) !important; }
.ql-snow .ql-fill   { fill:var(--muted) !important; }
.ql-snow .ql-picker  { color:var(--muted) !important; }
.ql-snow .ql-picker-options { background:var(--surface-alt) !important; border-color:var(--line) !important; }
.ql-snow .ql-picker-item:hover .ql-stroke,
.ql-snow button:hover .ql-stroke,
.ql-snow .ql-active .ql-stroke { stroke:var(--blue-hover) !important; }
.ql-snow .ql-picker-label { border-color:var(--line) !important; }

/* â”€â”€ UTILITIES â”€â”€ */
.flex { display:flex; } .flex-center { display:flex; align-items:center; }
.flex-between { display:flex; align-items:center; justify-content:space-between; }
.flex-wrap { flex-wrap:wrap; }
.gap-1{gap:4px;} .gap-2{gap:8px;} .gap-3{gap:12px;} .gap-4{gap:16px;}
.mt-2{margin-top:8px;} .mt-3{margin-top:12px;} .mt-4{margin-top:16px;} .mt-6{margin-top:24px;} .mt-8{margin-top:32px;}
.mb-2{margin-bottom:8px;} .mb-4{margin-bottom:16px;} .mb-6{margin-bottom:24px;}
.text-sm{font-size:.875rem;} .text-xs{font-size:.8125rem;}
.text-muted{color:var(--muted);} .text-ink{color:var(--ink);}
.font-mono{font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;}
.row-inactive { opacity:.45; }

/* â”€â”€ RESPONSIVE â”€â”€ */
@media (max-width:768px) {
    .gh-form-row { grid-template-columns:1fr; }
    .gh-admin-header { padding:0 16px; }
    .gh-admin-content { width:calc(100% - 32px); }
    .gh-hero h1 { font-size:2.2rem; }
    .gh-forms-grid { grid-template-columns:1fr; }
}

/* ══════════════════════════════════════════
   TEMAS DO FORMULÁRIO PÚBLICO
══════════════════════════════════════════ */

/* ── TEMA: dark (padrão — variáveis já definidas em :root) ── */
/* Sem sobrescrita; o :root já define o tema escuro. */

/* ── TEMA: light ── */
body.theme-light {
    --bg:           #f5f5f5;
    --bg-deep:      #e8e8e8;
    --surface:      #ffffff;
    --surface-alt:  #f0f0f0;
    --surface-hover:#e4e4e4;
    --ink:          #1a1a1a;
    --ink-soft:     #2d2d2d;
    --muted:        #666666;
    --muted-dark:   #444444;
    --line:         #e0e0e0;
    --line-active:  #1f6feb;
    --blue-muted:   rgba(31,111,235,.1);
    --green-muted:  rgba(35,134,54,.1);
    --red-muted:    rgba(248,81,73,.08);
    --nav-bg:       rgba(255,255,255,.92);
    --shadow:       0 8px 24px rgba(0,0,0,.12);
    background: var(--bg);
    color: var(--ink);
}

/* ── TEMA: ocean ── */
body.theme-ocean {
    --bg:           #0a1628;
    --bg-deep:      #050e1a;
    --surface:      #0f2038;
    --surface-alt:  #162840;
    --surface-hover:#1d3050;
    --ink:          #e0f2fe;
    --ink-soft:     #bae6fd;
    --muted:        #7dd3fc;
    --muted-dark:   #38bdf8;
    --line:         rgba(56,189,248,.22);
    --line-active:  #38bdf8;
    --blue:         #38bdf8;
    --blue-hover:   #7dd3fc;
    --blue-muted:   rgba(56,189,248,.12);
    --green:        #14b8a6;
    --green-hover:  #2dd4bf;
    --green-muted:  rgba(20,184,166,.12);
    --nav-bg:       rgba(10,22,40,.88);
    --shadow:       0 8px 24px rgba(0,10,30,.55);
    background: linear-gradient(160deg, #0f2027 0%, #203a43 50%, #2c5364 100%) fixed;
    color: var(--ink);
    min-height: 100vh;
}

/* ── TEMA: sunset ── */
body.theme-sunset {
    --bg:           #1a0800;
    --bg-deep:      #0d0400;
    --surface:      #2a1000;
    --surface-alt:  #3b1800;
    --surface-hover:#4a2000;
    --ink:          #fde8d8;
    --ink-soft:     #fcd9bd;
    --muted:        #fb923c;
    --muted-dark:   #ea580c;
    --line:         rgba(249,130,108,.22);
    --line-active:  #fb923c;
    --blue:         #fb923c;
    --blue-hover:   #fdba74;
    --blue-muted:   rgba(251,146,60,.12);
    --green:        #fb923c;
    --green-hover:  #fdba74;
    --green-muted:  rgba(251,146,60,.12);
    --nav-bg:       rgba(26,8,0,.88);
    --shadow:       0 8px 24px rgba(10,5,0,.65);
    background: linear-gradient(135deg, #1a0a00 0%, #3b1200 50%, #240a00 100%) fixed;
    color: var(--ink);
    min-height: 100vh;
}

/* ── Seletor visual de temas (admin) ── */
.theme-picker { display:flex; gap:12px; flex-wrap:wrap; margin-top:6px; }
.theme-swatch {
    position: relative; width:120px; cursor:pointer;
    border-radius: 10px; overflow:hidden;
    border: 2px solid var(--line); transition: border-color .2s, transform .15s;
}
.theme-swatch:hover { transform: translateY(-2px); border-color: var(--muted); }
.theme-swatch input[type=radio] { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%; }
.theme-swatch input[type=radio]:checked ~ .swatch-label { border-color: var(--blue-hover); }
.theme-swatch input[type=radio]:checked + .swatch-preview { outline: 2px solid var(--blue-hover); outline-offset: 2px; }
.swatch-preview { height:56px; display:block; }
.swatch-label { display:block; padding:6px 8px; font-size:.78rem; font-weight:600; background:var(--surface-alt); color:var(--ink-soft); text-align:center; border-top:1px solid var(--line); }
.theme-swatch:has(input:checked) { border-color: var(--blue-hover); box-shadow: 0 0 0 3px rgba(56,139,253,.2); }

.sortable-ghost { opacity:.4; background:var(--blue-muted) !important; }
.drag-handle:hover { color:var(--ink) !important; }
tr:has(.drag-handle) { transition: background .15s; }

/* === LEGACY CLASSES (manter páginas antigas funcionando até serem reescritas) === */
.auth-screen { display:grid; place-items:center; padding:24px; min-height:100vh;
    background: radial-gradient(ellipse 80% 50% at 50% -10%, rgba(124,58,237,.12), transparent), var(--bg); }
.auth-card { width:min(340px,100%); background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md); padding:24px; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:var(--radius-full); border:1px solid rgba(188,140,255,.3); background:rgba(188,140,255,.08); color:var(--purple); font-size:.8125rem; font-weight:600; }
input,textarea,select,button { font:inherit; }
input,textarea,select { width:100%; padding:8px 12px; border-radius:var(--radius); border:1px solid var(--line); background:var(--bg); color:var(--ink); outline:none; transition:border-color .15s,box-shadow .15s; }
input:focus,textarea:focus,select:focus { border-color:var(--line-active); box-shadow:0 0 0 3px rgba(56,139,253,.2); }
textarea { min-height:120px; resize:vertical; }
.field-block { display:grid; gap:8px; }
.field-block label { font-size:.875rem; font-weight:600; }
.field-block label span { color:var(--red); }
.smart-form { display:grid; gap:16px; margin-top:22px; }
.compact-form { margin-top:16px; }
.primary-button { border:0; border-radius:var(--radius); padding:10px 18px; color:#fff; cursor:pointer; font-weight:700; background:var(--green); transition:background .15s,transform .1s; }
.primary-button:hover { background:var(--green-hover); transform:translateY(-1px); }
.alert { margin-top:16px; padding:12px 16px; border-radius:var(--radius); font-weight:500; }
.alert-success { background:var(--green-muted); color:#3fb950; border:1px solid rgba(35,134,54,.25); }
.alert-error   { background:var(--red-muted);   color:#ff7b72;  border:1px solid rgba(248,81,73,.25); }
.auth-hint { margin-top:16px; color:var(--muted); font-size:.8125rem; }

