/* ESTILA_APP_SECTIONS_V1: scoped overrides preserve the rest of the portal. */
.columns.app-sections{display:flex;flex-direction:column;gap:30px;margin-top:28px}
.app-sections>.category{min-width:0;margin:0;padding:0;border:0}
.app-sections>.category>h2{font-size:17px;letter-spacing:.35px;margin:0 0 12px;gap:10px}
.app-section-controls{display:inline-flex;gap:7px;margin-left:auto;flex-shrink:0}
.app-section-controls[hidden]{display:none}
.app-section-controls button{display:grid;place-items:center;width:34px;height:32px;padding:0;border-radius:7px;font-size:18px;line-height:1;background:#23252e}
.app-section-controls button:disabled{opacity:.35;cursor:default}
.app-sections .cards{--app-columns:5;--app-gap:14px;display:grid;grid-template-columns:none;grid-template-rows:repeat(var(--app-rows,1),auto);grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--app-columns) - 1)*var(--app-gap))/var(--app-columns));align-items:stretch;gap:var(--app-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:2px;padding:2px 2px 12px;scrollbar-color:#8f496d #20222b;scrollbar-width:thin}
.app-sections .cards:focus-visible{outline:2px solid var(--pink);outline-offset:3px;border-radius:10px}
.app-sections .cards[data-arranged]{grid-auto-flow:row;grid-template-columns:repeat(var(--app-grid-columns),calc((100% - (var(--app-columns) - 1)*var(--app-gap))/var(--app-columns)))}
.app-sections .cards::-webkit-scrollbar{height:9px}
.app-sections .cards::-webkit-scrollbar-track{background:#20222b;border-radius:8px}
.app-sections .cards::-webkit-scrollbar-thumb{background:#8f496d;border-radius:8px}
.app-sections .app-card{--card-padding:17px;min-width:0;min-height:214px;padding:var(--card-padding);border-radius:10px;scroll-snap-align:start}
.app-open-area{position:relative;margin:calc(-1*var(--card-padding)) calc(-1*var(--card-padding)) 10px;padding:var(--card-padding) var(--card-padding) 1px;border-radius:9px 9px 0 0}
.app-open-area:has(.app-title-link):hover{background:#25212a}
.app-title-link::after{content:"";position:absolute;inset:0;border-radius:9px 9px 0 0}
.app-open-area .app-status{position:relative;z-index:1}
.app-sections .app-icon{width:31px;height:31px;font-size:19px;border-radius:8px}
.app-sections .badge{font-size:10px;padding:3px 7px}
.app-sections .app-card h3{font-size:16px;line-height:1.35;margin:12px 0 7px;letter-spacing:-.15px;overflow-wrap:anywhere}
.app-title-link{display:flex;align-items:flex-start;gap:8px;padding:6px;margin:-6px;border-radius:5px}
.app-title-link>span{flex-shrink:0;margin-left:auto;color:#ff8ec3;font-size:14px}
.app-title-link:hover{color:#ffacd3;background:#2a202a}
.app-title-link:focus-visible{outline:none}
.app-title-link:focus-visible::after{outline:2px solid var(--pink);outline-offset:-2px}
.app-title-disabled{color:#b0b5c3}
.app-sections .app-card>p:not(.app-owner){font-size:12px;line-height:1.5;margin:0 0 12px;flex:none;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.app-description{margin:0 0 12px;font-size:12px;line-height:1.5;color:var(--muted)}
.app-description>summary{display:block;list-style:none;cursor:pointer;border-radius:4px}
.app-description>summary::-webkit-details-marker{display:none}
.app-description>summary:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.app-description-copy{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
.app-description[open] .app-description-copy{display:block;-webkit-line-clamp:unset}
.description-expand,.description-collapse{display:block;margin-top:4px;font-size:10px;color:#e0a6c2}
.description-collapse,.app-description[open] .description-expand{display:none}
.app-description[open] .description-collapse{display:block}
.app-sections .app-card p.app-owner{font-size:11px;line-height:1.5;margin:0 0 9px;flex:none}
.app-sections .favorite-form{margin-top:auto;padding-top:9px;border-top:1px solid var(--line)}
.app-sections .favorite-button{font-size:11px;min-height:32px;padding:6px 8px}
.user-department{margin:24px 0;max-width:850px}
.user-department h2{font-size:18px;margin:0 0 12px}
.department-form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px 16px;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:10px}
.department-form label{flex:1 1 230px;max-width:420px;margin:0}
.department-form button{white-space:nowrap}
.department-form .hint{flex-basis:100%;margin:0;line-height:1.6;font-weight:400}
.user-access-content .user-department{margin:0 0 24px;max-width:none}
@media(max-width:1650px){.app-sections .cards{--app-columns:4}}
@media(max-width:1200px){.app-sections .cards{--app-columns:3}}
@media(max-width:850px){.app-sections .cards{--app-columns:3}.app-sections .app-card{--card-padding:14px}.app-sections>.category>h2{font-size:15px}.app-section-controls button{width:36px;height:36px}}
@media(max-width:600px){.app-sections .cards{--app-columns:2;--app-gap:10px}.app-sections .app-card{--card-padding:12px;min-height:190px}.app-sections>.category>h2{font-size:13px;gap:7px}.app-sections .category h2 small{padding:2px 6px;font-size:11px}.app-section-controls{gap:5px}.app-section-controls button{width:36px;height:36px}.app-sections .app-icon{width:25px;height:25px;font-size:17px}.app-sections .badge{font-size:9px;padding:3px 5px}.app-sections .app-card h3{font-size:13px;line-height:1.35;margin:11px 0 8px}.app-description{font-size:11px}.app-description-copy{-webkit-line-clamp:2}.app-sections .app-card p.app-owner{font-size:10px}.app-sections .favorite-button{min-height:34px;font-size:10px;padding:6px}.department-form button{width:100%}}
