:root{--paper:#fbf8f2;--ink:#1a1612;--muted:#6b5e52;--accent:#c05a35;--line:rgba(90,70,50,.16);--ok:#24734f;--danger:#a6332c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}.auth-shell{max-width:1100px;margin:0 auto;padding:40px 22px}.auth-brand{display:inline-block;margin-bottom:28px;font-family:Georgia,serif;font-size:20px;font-weight:700}.auth-brand em,.eyebrow,a{color:var(--accent)}.auth-card{max-width:520px;margin:20px auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 12px 28px rgba(26,22,18,.08)}.auth-card.wide,.auth-card.admin{max-width:none}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;margin:0 0 8px}.auth-card h1{font-family:Georgia,serif;margin:0 0 24px}label{display:block;font-size:13px;font-weight:650;margin:15px 0}input:not([type=checkbox]){display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:9px;font:inherit}.check{display:flex;gap:9px;align-items:flex-start;font-weight:400}.check input{margin-top:3px}button,.button-link{display:inline-block;border:0;border-radius:999px;background:var(--accent);color:#fff;padding:11px 18px;font-weight:700;cursor:pointer}.secondary{background:#6b5e52}.danger{background:var(--danger)}.hint,.auth-switch{font-size:13px;color:var(--muted)}.auth-message{background:#fff5e6;border:1px solid #e7b65e;border-radius:9px;padding:10px}.top-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.project-grid a{border:1px solid var(--line);border-radius:14px;padding:22px;text-decoration:none}.project-grid strong,.project-grid span{display:block}.project-grid span{color:var(--muted);margin-top:7px}.table-scroll{overflow-x:auto;overflow-y:visible}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:13px}td form{display:flex;gap:6px}.status{display:inline-block;border-radius:999px;padding:4px 9px;background:#eee}.status.approved{background:#e6f5ec;color:var(--ok)}.status.pending{background:#fff2cc}.status.rejected,.status.disabled{background:#fde8e6;color:var(--danger)}.row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.row-actions form{display:flex;gap:6px}
/* Admin section styles */
.admin-section{max-width:1200px;margin:0 auto;padding:40px 22px}.admin-header{margin-bottom:40px}.admin-header h1{font-family:Georgia,serif;font-size:32px;margin:12px 0 0}.admin-subtitle{font-size:14px;color:var(--muted);margin:8px 0 0}.admin-content{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:0 2px 8px rgba(26,22,18,.04)}.admin-info{margin-bottom:24px;padding:16px;background:rgba(192,90,53,.06);border-radius:12px;border-left:4px solid var(--accent)}.admin-info-text{margin:0;font-size:14px;color:var(--ink)}.table-container{overflow:hidden;border-radius:12px}.admin-table{font-size:14px}.admin-table th{background:#f9f7f4;font-weight:700;color:var(--ink);padding:14px 12px}.admin-table td{padding:14px 12px;vertical-align:middle}.admin-table tbody tr:hover{background:#fafaf8}.admin-table tbody tr:nth-child(odd){background:rgba(251,248,242,.5)}.admin-cell-name{font-weight:600;color:var(--ink)}.admin-cell-email{color:var(--muted);font-size:13px}.admin-cell-phone{color:var(--muted);font-size:13px}.admin-cell-role{text-align:center}.admin-cell-status{text-align:center}.admin-cell-actions{text-align:right}.role-badge{display:inline-block;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.admin-role{background:rgba(192,90,53,.15);color:var(--accent)}.user-role{background:#e8e6e2;color:var(--muted)}.status-badge{display:inline-block;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;text-transform:capitalize}.status-approved{background:#e6f5ec;color:var(--ok)}.status-pending{background:#fff2cc;color:#b8860b}.status-rejected{background:#fde8e6;color:var(--danger)}.status-disabled{background:#fde8e6;color:var(--danger)}.admin-btn{display:inline-block;padding:7px 13px;font-size:12px;font-weight:600;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:6px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.admin-btn:hover{border-color:var(--accent);color:var(--accent);background:rgba(192,90,53,.08)}.admin-btn-approve{border-color:var(--ok);color:var(--ok)}.admin-btn-approve:hover{background:rgba(36,115,79,.08)}.admin-btn-reject{border-color:#d4a574;color:#8b6f47}.admin-btn-reject:hover{background:rgba(212,165,116,.08)}.admin-btn-block{border-color:var(--danger);color:var(--danger)}.admin-btn-block:hover{background:rgba(166,51,44,.08)}.admin-btn-make-admin{border-color:var(--accent);color:var(--accent)}.admin-btn-make-admin:hover{background:rgba(192,90,53,.08)}.admin-btn-remove-admin{border-color:var(--muted);color:var(--muted)}.admin-btn-remove-admin:hover{background:rgba(107,94,82,.08)}.admin-btn-delete{border-color:var(--danger);color:var(--danger)}.admin-btn-delete:hover{background:rgba(166,51,44,.08)}.admin-action-form{display:flex;gap:6px;flex-wrap:wrap}.admin-hint{font-size:12px;color:var(--muted);display:inline-block;padding:4px 8px;background:#f4f0eb;border-radius:6px}@media(max-width:700px){.project-grid{grid-template-columns:1fr}.top-actions{flex-direction:column}.auth-card{padding:22px}.admin-section{padding:20px 16px}.admin-content{padding:20px}.admin-table{font-size:12px}.admin-table th,.admin-table td{padding:10px 8px}.admin-cell-actions{text-align:center}.admin-action-form{flex-direction:column}.admin-btn{width:100%;text-align:center}}

/* Login e cadastro no mesmo sistema visual do site público. */
body.auth-page{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse 72% 52% at 50% 0%,rgba(212,140,90,.13),transparent 68%),var(--ivory,#fbf8f2);color:var(--ink,#1a1612);font-family:var(--body,"Lora",Georgia,serif)}
.auth-page-main{width:100%;max-width:1180px;flex:1;margin:0 auto;padding:72px 28px 88px}
.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,480px);gap:88px;align-items:center}
.auth-copy{max-width:570px;padding:0}
.auth-copy .eyebrow{font-family:var(--ui,"Outfit",system-ui,sans-serif);font-size:12.5px;color:var(--terra,#c05a35)}
.auth-copy h1{font-family:var(--serif,"Source Serif 4",Georgia,serif);font-size:clamp(38px,5vw,58px);line-height:1.05;margin:0 0 20px}
.auth-copy h1 em{display:block;color:var(--terra,#c05a35);font-weight:600}
.auth-copy>p{max-width:530px;color:var(--ink-soft,#6b5e52);font-size:17px;line-height:1.7}
.auth-benefits{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px;font-family:var(--ui,"Outfit",system-ui,sans-serif);font-size:14px;color:var(--ink-mid,#3d342a)}
.auth-benefits li{display:flex;align-items:center;gap:10px}
.auth-benefits li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--terra,#c05a35);flex:0 0 auto}
.auth-card.auth-entry{max-width:none;margin:0;padding:36px;border-radius:16px;border:1px solid var(--line,rgba(90,70,50,.12));box-shadow:0 18px 44px rgba(26,22,18,.09)}
.auth-entry .eyebrow{font-family:var(--ui,"Outfit",system-ui,sans-serif);color:var(--terra,#c05a35)}
.auth-entry h2{font-family:var(--serif,"Source Serif 4",Georgia,serif);font-size:34px;margin:0 0 24px}
.auth-form label{font-family:var(--ui,"Outfit",system-ui,sans-serif);font-size:13.5px;margin:16px 0;color:var(--ink-mid,#3d342a)}
.auth-form input:not([type=checkbox]){margin-top:7px;padding:13px 14px;border-radius:10px;background:var(--ivory,#fbf8f2);font-family:var(--ui,"Outfit",system-ui,sans-serif)}
.auth-form input:focus{outline:2px solid rgba(192,90,53,.28);border-color:var(--terra,#c05a35)}
.auth-form .check{font-family:var(--body,"Lora",Georgia,serif);font-size:13px;line-height:1.5;font-weight:400}
.auth-submit{width:100%;margin-top:8px;padding:12px 20px;font-family:var(--ui,"Outfit",system-ui,sans-serif);font-size:14px}
.auth-switch{margin:20px 0 0;text-align:center;font-family:var(--ui,"Outfit",system-ui,sans-serif);font-size:13px}
.auth-legal{margin-top:22px;padding-top:18px;border-top:1px solid var(--line,rgba(90,70,50,.12));font-size:12.5px;line-height:1.6;color:var(--ink-mute,#9c9088);text-align:center}
.auth-legal a{font-weight:600}
.auth-message{margin-bottom:18px;font-family:var(--ui,"Outfit",system-ui,sans-serif);font-size:13px}
.auth-result{margin:60px auto;max-width:600px;text-align:center}
@media(max-width:900px){.auth-page-main{padding:48px 22px 64px}.auth-layout{grid-template-columns:1fr;gap:40px}.auth-copy{text-align:center;margin:0 auto}.auth-benefits{display:none}.auth-card.auth-entry{width:100%;max-width:520px;margin:0 auto}}
@media(max-width:560px){.auth-page-main{padding:36px 16px 52px}.auth-copy h1{font-size:36px}.auth-copy>p{font-size:15.5px}.auth-card.auth-entry{padding:25px 20px}.auth-entry h2{font-size:29px}}
