/* LAATG — Área do cliente */
.btn-sm { padding: .45rem .9rem; font-size: .85rem; }
.ac-user { display: flex; align-items: center; gap: .9rem; font-size: .9rem; color: var(--ink-soft); }
.ac-user span { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ac-back { color: var(--ink-soft); text-decoration: none; font-weight: 600; font-size: .9rem; }
.ac-back:hover { color: var(--teal); }
.ac-loading { min-height: 60vh; display: grid; place-items: center; color: var(--ink-soft); }
.ac-muted { color: var(--ink-soft); }
.ac-footer { padding: 24px 0; }
.ac-footer a { color: #cfe3ea; text-decoration: none; }
.ac-footer .footer-bottom { padding-top: 0; }

/* ---------- Login ---------- */
.ac-login { background: var(--navy); min-height: calc(100vh - 72px - 74px); display: flex; align-items: center; padding: 56px 0; position: relative; overflow: hidden; }
.ac-login::after {
  content: ""; position: absolute; left: -30px; bottom: 0; width: 42%; height: 80%;
  background:
    linear-gradient(var(--teal-bright), var(--teal-bright)) 0 100% / 14% 36% no-repeat,
    linear-gradient(var(--teal-bright), var(--teal-bright)) 20% 100% / 14% 58% no-repeat,
    linear-gradient(#fff, #fff) 40% 100% / 14% 82% no-repeat;
  opacity: .06; pointer-events: none;
}
.ac-login-grid { display: grid; grid-template-columns: 1fr 420px; gap: 4rem; align-items: center; position: relative; z-index: 1; }
.ac-login-text .eyebrow { color: var(--teal-bright); }
.ac-login-text h1 { color: #fff; font-size: clamp(1.9rem, 4vw, 2.6rem); font-weight: 800; max-width: 16ch; }
.ac-login-text ul { list-style: none; margin: 1.6rem 0 0; padding: 0; }
.ac-login-text li { color: #dbeaef; padding: .5rem 0 .5rem 1.6rem; position: relative; }
.ac-login-text li::before { content: ""; position: absolute; left: 0; top: .95rem; width: 10px; height: 10px; background: var(--teal-bright); clip-path: polygon(0 100%, 100% 0, 100% 100%); }
.ac-login-box { background: #fff; border-radius: 12px; padding: 32px; box-shadow: 0 20px 50px rgba(0,0,0,.25); }
.ac-login-box h2 { font-size: 1.5rem; margin-bottom: .2rem; }
.ac-login-box .ac-muted { margin-bottom: .4rem; }
@media (max-width: 860px) {
  .ac-login-grid { grid-template-columns: 1fr; gap: 2rem; }
  .ac-login-text ul { display: none; }
  .ac-login::after { display: none; }
  .ac-login-box { padding: 24px; }
}

/* ---------- Painel ---------- */
.ac-hero { background: var(--navy); color: #fff; padding: 52px 0 44px; }
.ac-hero-sm { padding: 36px 0 32px; }
.ac-hero .eyebrow { color: var(--teal-bright); }
.ac-hero h1 { color: #fff; font-size: clamp(1.8rem, 4vw, 2.5rem); font-weight: 800; margin-bottom: .3rem; }
.ac-hero p { color: #cfe3ea; margin: 0; font-size: 1.05rem; }
.ac-crumb { color: var(--teal-bright); text-decoration: none; font-size: .88rem; font-weight: 600; display: inline-block; margin-bottom: .8rem; }

.ac-main { background: var(--bg-soft); padding: 40px 0 72px; }
.ac-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 44px; }
.ac-card {
  display: flex; flex-direction: column; gap: .55rem;
  background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 22px;
  text-decoration: none; color: inherit; transition: box-shadow .2s, transform .2s, border-color .2s;
}
a.ac-card:hover, a.ac-card:focus-visible { border-color: var(--teal); box-shadow: var(--shadow); transform: translateY(-2px); outline: none; }
.ac-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: .2rem; }
.ac-icon { width: 46px; height: 46px; border-radius: 10px; display: grid; place-items: center; background: var(--teal-50); color: var(--teal); }
.ac-icon svg { width: 22px; height: 22px; }
.ac-card h3 { font-size: 1.1rem; margin: 0; }
.ac-card p { color: var(--ink-soft); font-size: .93rem; margin: 0; }
.ac-cta { margin-top: auto; padding-top: .7rem; display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; color: var(--teal); font-size: .92rem; }
.ac-cta svg { width: 18px; height: 18px; transition: transform .2s; }
a.ac-card:hover .ac-cta svg { transform: translateX(3px); }
.ac-off { background: #fbfcfc; }
.ac-off .ac-icon { background: #eef1f3; color: var(--ink-soft); }
.ac-off .ac-cta { color: var(--ink-soft); font-weight: 600; }

.ac-featured { grid-column: span 2; background: var(--navy); border-color: var(--navy); color: #fff; padding: 28px; }
.ac-featured h3 { color: #fff; font-size: 1.45rem; }
.ac-featured p { color: #cfe3ea; font-size: 1rem; max-width: 56ch; }
.ac-featured .ac-icon { background: rgba(0,201,177,.15); color: var(--teal-bright); }
.ac-featured .ac-cta { align-self: flex-start; background: var(--teal-bright); color: var(--navy-900); padding: .7rem 1.2rem; border-radius: var(--radius); margin-top: .8rem; }
a.ac-featured:hover { border-color: var(--teal-bright); }

.ac-group-head { display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; border-bottom: 2px solid var(--navy); padding-bottom: .6rem; margin-bottom: .4rem; }
.ac-group-head h2 { font-size: 1.15rem; margin: 0; }
.ac-group-head span { color: var(--ink-soft); font-size: .9rem; }

/* Feed */
.ac-feed { margin-bottom: 40px; }
.ac-feed-list { list-style: none; margin: 0; padding: 0; background: #fff; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.ac-feed-list li + li { border-top: 1px solid var(--line); }
.ac-feed-list a { display: grid; grid-template-columns: 70px 120px 1fr; gap: 1rem; align-items: center; padding: .9rem 1.2rem; text-decoration: none; color: var(--ink); }
.ac-feed-list a:hover { background: var(--teal-50); }
.ac-feed-date { color: var(--ink-soft); font-size: .85rem; }
.ac-feed-tag { justify-self: start; font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: .2rem .6rem; border-radius: 99px; background: var(--teal-50); color: var(--teal); }
.ac-feed-tag.imp { background: #fdecec; color: #b42318; }
.ac-feed-title { font-weight: 600; }
.ac-empty { background: #fff; border: 1px dashed var(--line); border-radius: 10px; padding: 1.4rem; color: var(--ink-soft); margin-top: 1rem; }

.ac-help { display: grid; grid-template-columns: 1fr auto; gap: 1.5rem; align-items: center; background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--teal); border-radius: 0 10px 10px 0; padding: 22px 26px; }
.ac-help h2 { font-size: 1.1rem; margin-bottom: .2rem; }
.ac-help p { margin: 0; color: var(--ink-soft); }
.ac-help-actions { display: flex; gap: .7rem; flex-wrap: wrap; }

/* Publicações */
.ac-tabs { display: flex; gap: .4rem; flex-wrap: wrap; margin-bottom: 1.4rem; }
.ac-tabs a { text-decoration: none; font-weight: 600; font-size: .9rem; color: var(--ink-soft); padding: .55rem 1rem; border-radius: 99px; border: 1px solid var(--line); background: #fff; }
.ac-tabs a.on { background: var(--navy); border-color: var(--navy); color: #fff; }
.ac-admin { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 0 22px; margin-bottom: 1.4rem; }
.ac-admin summary { cursor: pointer; font-weight: 700; color: var(--teal); padding: 16px 0; }
.ac-admin[open] { padding-bottom: 22px; }
.ac-check { display: flex; align-items: center; gap: .5rem; font-weight: 600; color: var(--navy); }
.ac-post { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 24px 26px; margin-bottom: 14px; scroll-margin-top: 90px; }
.ac-post.imp { border-left: 4px solid #b42318; }
.ac-post-meta { display: flex; align-items: center; gap: .8rem; color: var(--ink-soft); font-size: .85rem; margin-bottom: .5rem; }
.ac-del { margin-left: auto; color: #b42318 !important; }
.ac-post h2 { font-size: 1.25rem; margin-bottom: .4rem; }
.ac-post-sum { color: var(--ink); font-weight: 600; }
.ac-post-body p { color: var(--ink-soft); }
.ac-post-link { font-weight: 700; text-decoration: none; }

@media (max-width: 960px) { .ac-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) {
  .ac-grid { grid-template-columns: 1fr; }
  .ac-featured { grid-column: auto; }
  .ac-help { grid-template-columns: 1fr; }
  .ac-feed-list a { grid-template-columns: auto 1fr; }
  .ac-feed-title { grid-column: 1 / -1; }
  .ac-user span { display: none; }
}

/* ---------- Usuários ---------- */
.badge-adm { background: #fff4e5; color: #9a5b00; }
.ac-featured .badge-adm { background: rgba(255,255,255,.15); color: #fff; }
.us-box { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 24px 26px; margin-bottom: 20px; }
.us-box h2 { font-size: 1.15rem; margin-bottom: 1rem; }
.us-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: .6rem; }
.us-head h2 { margin: 0; }
.us-head input { padding: .55rem .8rem; border: 1px solid var(--line); border-radius: var(--radius); font: inherit; min-width: 240px; }
.us-hint { display: block; color: var(--ink-soft); font-size: .82rem; margin-top: .35rem; }
.us-inline { display: flex; gap: .6rem; }
.us-inline input { flex: 1; }
fieldset.us-grupos { border: 0; padding: 0; margin: 0; }
fieldset.us-grupos legend { font-weight: 600; font-size: .88rem; color: var(--navy); margin-bottom: .35rem; padding: 0; }
.us-chk { display: flex; flex-wrap: wrap; gap: .4rem .5rem; }
.us-chk label { display: inline-flex; align-items: center; gap: .35rem; font-size: .88rem; font-weight: 600; color: var(--ink);
  border: 1px solid var(--line); border-radius: 99px; padding: .3rem .75rem; cursor: pointer; background: #fff; margin: 0; white-space: nowrap; }
.us-chk label:has(input:checked) { background: var(--teal-50); border-color: var(--teal); color: var(--teal); }
.us-chk label:has(input:disabled) { opacity: .45; cursor: default; }
.us-chk .us-todos { border-style: dashed; }
.us-row { display: grid; grid-template-columns: 1.3fr .9fr 1.8fr auto; gap: 1rem; align-items: start; padding: 1rem 0; border-top: 1px solid var(--line); }
.us-row:first-child { border-top: 0; }
.us-row.us-off { opacity: .6; }
.us-row .field > label { font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-soft); }
.us-row select { padding: .5rem .6rem; }
.us-id { display: flex; flex-direction: column; gap: .3rem; }
.us-nome { font: inherit; font-weight: 700; color: var(--navy); border: 1px solid transparent; border-radius: var(--radius); padding: .35rem .5rem; margin-left: -.5rem; }
.us-nome:hover, .us-nome:focus { border-color: var(--line); outline: none; }
.us-mail { color: var(--ink-soft); font-size: .85rem; word-break: break-all; }
.us-acts { display: flex; flex-direction: column; gap: .5rem; align-items: stretch; min-width: 160px; }
@media (max-width: 960px) { .us-row { grid-template-columns: 1fr 1fr; } .us-acts { flex-direction: row; flex-wrap: wrap; align-items: center; } }
@media (max-width: 620px) { .us-row { grid-template-columns: 1fr; } .us-inline { flex-direction: column; } .us-box { padding: 18px; } }
