body { display: block; padding: 28px 20px; }
.admin-shell { width: min(100%, 1120px); margin: 0 auto; }
.masthead { display: flex; align-items: center; gap: 16px; }
.masthead .eyebrow { margin: 0 0 4px; }
.masthead h1 { font-size: clamp(25px, 4vw, 34px); }
.masthead .logo { width: 64px; height: 64px; }
.header-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.header-actions button { margin: 0; }
.header-link { display: inline-block; padding: 13px 16px; border-radius: 9px; font-weight: 700; text-decoration: none; }
.header-link:focus-visible { outline: 3px solid #98d9cd; outline-offset: 2px; }
.panel { background: #fff; border: 1px solid #dce8e4; border-radius: 16px; padding: 26px; box-shadow: 0 8px 28px #123b370d; }
#login-panel { width: min(100%, 460px); margin: 24px auto 0; }
.columns { display: grid; grid-template-columns: minmax(300px, 370px) minmax(0, 1fr); gap: 20px; align-items: start; }
h2 { margin: 0; font-size: 20px; }
.intro { margin: 8px 0 18px; font-size: 14px; }
.welcome { margin: 8px 0 20px; color: #607a7c; }
select { width: 100%; padding: 12px 13px; border: 1px solid #bfcfca; border-radius: 9px; background: #fff; color: inherit; font: inherit; }
textarea { width: 100%; padding: 12px 13px; border: 1px solid #bfcfca; border-radius: 9px; color: inherit; font: inherit; resize: vertical; }
select:focus-visible, textarea:focus-visible { outline: 3px solid #98d9cd; outline-offset: 2px; }
.secondary { margin: 0; background: #e5f0ed; color: #145752; }
.secondary:hover { background: #cfe4de; }
.section-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.section-heading .secondary { flex: none; }
.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; font-size: 14px; }
th, td { padding: 13px 10px; border-bottom: 1px solid #e4eeea; vertical-align: top; }
th { color: #607a7c; font-size: 12px; }
td small { display: block; margin-top: 3px; color: #607a7c; overflow-wrap: anywhere; }
td button { margin: 0; padding: 8px 10px; font-size: 12px; white-space: nowrap; }
.state { display: inline-block; padding: 5px 8px; border-radius: 99px; background: #e5f0ed; font-weight: 700; }
.state.pendente { background: #fff0ca; color: #745500; }
.state.suspenso { background: #f8e4e2; color: #a13c36; }
.empty { color: #607a7c; }
.registration { margin-top: 34px; }
.registration-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
.registration h3 { margin: 0 0 12px; font-size: 18px; }
.record-list { margin: 20px 0 0; padding: 0; list-style: none; font-size: 13px; }
.record-list li { border-top: 1px solid #e4eeea; padding: 10px 0; overflow-wrap: anywhere; }
.record-list small { display: block; margin-top: 3px; color: #607a7c; }
[hidden] { display: none !important; }
@media (max-width: 1060px) { .registration-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 820px) { .columns { grid-template-columns: 1fr; } }
@media (max-width: 680px) { .registration-grid { grid-template-columns: 1fr; } }
@media (max-width: 540px) { .masthead { flex-wrap: wrap; } .header-actions { margin-left: 0; } .panel { padding: 20px; } .section-heading { flex-wrap: wrap; } }
