/* Identidade e estrutura compartilhadas por todas as páginas do menu. */
.app-shell{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:#f7f4ee}
.app-shell>.shell-header{width:100%;max-width:1480px;display:grid;grid-template-columns:220px minmax(0,1fr) auto;align-items:center;gap:30px;padding:18px 32px;margin:0 auto;background:transparent;border:0;backdrop-filter:none;flex-shrink:0}
.shell-header .dashboard-brand{width:210px;display:flex;flex-direction:column;align-items:center;text-decoration:none}
.shell-header .dashboard-brand img{display:block;width:210px;height:42px;object-fit:cover}
.shell-header .dashboard-brand>span{font:8px Arial,sans-serif;letter-spacing:2px;color:#887664;margin-top:3px}
.shell-context{font:12px/1.6 Georgia,serif;color:#9c8b76;letter-spacing:.2px}
.app-shell>.dash-nav{width:100%;justify-content:center;gap:4px;padding:10px 24px;background:#fffcf6;border-top:1px solid #e8e0d4;border-bottom:1px solid #e8e0d4;flex-shrink:0}
.app-shell>.dash-nav .dash-link{font:11px/1.4 Arial,sans-serif;padding:10px 11px;border-radius:7px;text-decoration:none;background:transparent;color:#796b5b;white-space:nowrap}
.app-shell>.dash-nav .dash-link.active{background:#79543b;color:#fffaf2;font-weight:600}
.app-shell>.dash-nav .dash-link:hover{background:#ede3d4;color:#65432e}
.app-shell>main{width:100%;flex:1}
.app-shell>.shell-footer{max-width:1480px;width:100%;margin:0 auto;padding:20px 32px 24px;display:flex;justify-content:space-between;gap:20px;border:0;background:transparent;font:10px/1.6 Arial,sans-serif;color:#a29583}
.section-page{max-width:1280px;margin:0 auto;padding:35px 32px 45px}
.section-heading{margin-bottom:28px}
.section-heading h1{font:normal 36px/1.25 Georgia,serif;letter-spacing:-.7px;margin:12px 0 10px;color:#594634}
.section-heading>p{font:13px/1.7 Arial,sans-serif;color:#8a7d6c}
.section-empty{min-height:330px;background:#fffdf8;border:1px solid #e9e1d5;border-radius:14px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px 28px;box-shadow:0 4px 16px #55402b04}
.empty-book{display:flex;gap:2px;margin-bottom:24px;filter:drop-shadow(0 5px 5px #79543b12)}
.empty-book>span{display:block;width:32px;height:40px;border:1px solid #cdb99b;background:repeating-linear-gradient(0deg,#f4ebdc 0 7px,#dcccb5 7px 8px);border-radius:4px 9px 2px 4px;transform:skewY(8deg)}
.empty-book>span:last-child{border-radius:9px 4px 4px 2px;transform:skewY(-8deg)}
.section-status{font:8px Arial,sans-serif;letter-spacing:1.5px;color:#ac9679;background:#f4eddf;border-radius:20px;padding:6px 10px;margin-bottom:16px}
.section-empty h2{font:normal 26px/1.35 Georgia,serif;color:#7b6044;margin:0 0 12px}
.section-empty>p{font:12px/1.8 Arial,sans-serif;color:#99866e;max-width:440px;margin-bottom:24px}
.empty-back{font:11px Arial,sans-serif;color:#a28b6e;text-decoration:none;margin-top:17px}
.empty-back:hover{text-decoration:underline}
.progress-68{width:68%}.progress-40{width:40%}.progress-42{width:42%}
@media(max-width:1200px){.app-shell>.dash-nav{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d5c4ab transparent}.app-shell>.dash-nav .dash-link{flex-shrink:0}.app-shell>.shell-header{grid-template-columns:210px minmax(0,1fr) auto;gap:18px}}
@media(max-width:850px){.app-shell>.shell-header{grid-template-columns:1fr auto;padding:16px 20px;gap:12px}.shell-context{display:none}.shell-header .search-bar,.shell-header .shelf-search{grid-column:1/-1;grid-row:2}.app-shell>.dash-nav{padding:10px 20px}.section-page{padding:28px 20px 35px}.app-shell>.shell-footer{padding:18px 20px 22px}}
@media(max-width:600px){.shell-header .dashboard-brand,.shell-header .dashboard-brand img{width:175px}.shell-header .dashboard-brand img{height:35px}.shell-header .dash-actions .icon-btn,.shell-header .user-chip{display:none}.section-heading h1{font-size:30px}.section-empty{padding:32px 22px;min-height:320px}.section-empty h2{font-size:23px}.app-shell>.shell-footer{font-size:9px;align-items:flex-start}.app-shell>.shell-footer>span:last-child{text-align:right}}
.shell-header .icon-btn{color:#79543b;text-decoration:none}
.shell-header .icon-btn:hover{color:#563824;background:#eee5d8}

/* Navegação junto ao logo, dentro do cabeçalho compartilhado. */
.app-shell>.shell-header{grid-template-columns:210px minmax(0,1fr) auto;column-gap:24px;row-gap:14px;border-bottom:1px solid #e8e0d4}
.shell-header>.dashboard-brand{grid-column:1;grid-row:1}
.shell-header>.dash-actions{grid-column:3;grid-row:1}
.shell-header>.shell-context{display:none}
.shell-header>.dash-nav{grid-column:2;grid-row:1;display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:3px;padding:0;border:0;background:transparent;min-width:0}
.shell-header>.dash-nav .dash-link{font:10px/1.4 Arial,sans-serif;padding:8px 9px;white-space:nowrap;flex-shrink:0;background:transparent;color:#796b5b;border-radius:6px;text-decoration:none}
.shell-header>.dash-nav .dash-link.active{background:#79543b;color:#fffaf2;font-weight:600}
.shell-header>.dash-nav .dash-link:hover{background:#ede3d4;color:#65432e}
.shell-header>.search-bar,.shell-header>.shelf-search{grid-column:2/-1;grid-row:2;max-width:700px;width:100%;justify-self:end}
@media(max-width:1200px){.app-shell>.shell-header{grid-template-columns:180px minmax(0,1fr) auto;column-gap:16px}.shell-header>.dashboard-brand,.shell-header>.dashboard-brand img{width:180px}.shell-header>.dashboard-brand img{height:36px}.shell-header .user-chip{display:none}}
@media(max-width:850px){.app-shell>.shell-header{grid-template-columns:1fr auto;gap:14px;padding:16px 20px}.shell-header>.dash-actions{grid-column:2}.shell-header>.dash-nav{grid-column:1/-1;grid-row:2;flex-wrap:nowrap;overflow-x:auto;padding:3px 0 8px;scrollbar-width:thin;scrollbar-color:#d5c4ab transparent}.shell-header>.search-bar,.shell-header>.shelf-search{grid-column:1/-1;grid-row:3;max-width:none}.shell-header>.dashboard-brand,.shell-header>.dashboard-brand img{width:175px}.shell-header>.dashboard-brand img{height:35px}}

/* Mantém todos os itens na mesma faixa, sem quebrar o cabeçalho. */
.shell-header>.dash-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d5c4ab transparent}

/* Marca menor e faixa inferior dedicada à busca e à conta na visão geral. */
.app-shell>.shell-header{grid-template-columns:165px minmax(0,1fr) auto;column-gap:22px;padding-top:14px;padding-bottom:14px}
.shell-header>.dashboard-brand,.shell-header>.dashboard-brand img{width:165px}
.shell-header>.dashboard-brand img{height:33px}
.shell-header .dashboard-brand>span{font-size:7px;letter-spacing:1.5px}
.shell-header:has(>.header-search)>.dash-nav{grid-column:2/-1;grid-row:1}
.shell-header>.header-search{grid-column:2;grid-row:2;justify-self:start;max-width:650px;margin:0;padding:5px 12px;display:flex;gap:8px}
.shell-header>.header-search input{font-size:12px;min-height:30px;width:100%;padding:3px;border:0;margin:0}
.shell-header:has(>.header-search)>.dash-actions{grid-column:3;grid-row:2;flex-wrap:nowrap;gap:10px}
.shell-header .header-user{display:flex;max-width:200px;font-size:10px;padding:5px 10px;background:#eee7da}
.shell-header .header-user>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shell-header .header-user .user-avatar{width:22px;height:22px}
@media(max-width:1050px){.shell-header:has(>.header-search)>.dash-nav{grid-column:1/-1;grid-row:2}.shell-header:has(>.header-search)>.dash-actions{grid-column:2/-1;grid-row:1}.shell-header>.header-search{grid-column:1/-1;grid-row:3;max-width:none}}
@media(max-width:850px){.app-shell>.shell-header{grid-template-columns:1fr auto;gap:12px;padding:14px 20px}.shell-header>.dashboard-brand,.shell-header>.dashboard-brand img{width:150px}.shell-header>.dashboard-brand img{height:30px}.shell-header:has(>.header-search)>.dash-actions{grid-column:2;grid-row:1}.shell-header>.header-search{grid-column:1/-1;grid-row:3}}
@media(max-width:550px){.shell-header:has(>.header-search)>.dashboard-brand{grid-column:1;grid-row:1}.shell-header:has(>.header-search)>.dash-actions{gap:6px}.shell-header .header-user{max-width:125px;font-size:9px;padding:4px 6px;gap:5px}.shell-header .header-user .user-avatar{display:none}.shell-header:has(>.header-search) .btn.ghost{padding:7px 9px;font-size:10px}.shell-header:has(>.header-search) .dashboard-brand,.shell-header:has(>.header-search) .dashboard-brand img{width:130px}.shell-header:has(>.header-search) .dashboard-brand img{height:26px}}

.shell-header .header-user[hidden]{display:none}
