/* Shared portal/native workspace presentation. */
.wd-directory{max-width:1440px;margin:0 auto;padding:24px;color:var(--ink,var(--app-ink))}
.wd-heading,.wd-controls,.wd-card-top,.wd-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px}
.wd-heading h1{font-size:32px;letter-spacing:-.04em;margin:0}.wd-heading p,.wd-count,.wd-kind{color:var(--muted,var(--app-muted));font-size:13px}
.wd-controls{flex-wrap:wrap;margin:24px 0 12px}.wd-search,.wd-startup{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wd-search input{min-width:220px}.wd-controls label{display:flex;align-items:center;gap:8px;font-size:12px}
.wd-directory :is(input,select),.wd-nav-search input{padding:10px 12px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:10px;background:var(--paper,var(--app-paper));color:inherit;font:inherit;min-width:0}
.wd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:18px}
.wd-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;border:1px solid transparent;border-radius:18px;background:linear-gradient(var(--paper,var(--app-paper,#fff)),var(--paper,var(--app-paper,#fff))) padding-box,linear-gradient(120deg,#ee5684,#a06cf3,#42a2ed,#4fcbab,#e5ba57) border-box;box-shadow:0 8px 28px #00000008}
.wd-card-top{width:100%}.wd-avatar{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;border-radius:11px;background:color-mix(in srgb,var(--matrix-color-b,#8058dd) 13%,transparent);color:var(--ink,var(--app-ink));font-weight:700}
.wd-card-title{color:inherit;text-decoration:none;max-width:100%}.wd-card h2{font-size:19px;line-height:1.25;overflow-wrap:anywhere;margin:0}.wd-kind{margin:0}.wd-cog{display:inline-grid;place-items:center;min-width:36px;min-height:36px;border:0;border-radius:10px;color:inherit;background:color-mix(in srgb,currentColor 6%,transparent);font-size:21px;text-decoration:none;cursor:pointer}.sp-heading>div:first-child:has(.wd-cog){display:flex;align-items:center;gap:12px}
.wd-badge{font-size:11px;padding:4px 9px;border-radius:99px;background:color-mix(in srgb,var(--matrix-color-b,#8058dd) 12%,transparent)}.wd-details{font-size:12px;width:100%}.wd-details summary{cursor:pointer}.wd-details p{margin:8px 0}.wd-open{margin-top:auto;width:100%;display:flex;justify-content:space-between;text-decoration:none}.wd-pagination{justify-content:center;margin-top:24px}.wd-empty{padding:24px}
.wd-navigation{height:100%;display:flex;flex-direction:column;min-height:0}.wd-directory-link{display:flex;align-items:center;gap:12px;padding:12px;text-decoration:none;color:inherit}.wd-nav-search{padding:8px;position:sticky;top:0}.wd-nav-search input{width:100%;font-size:13px}.wd-nav-list{overflow:auto;min-height:0;display:flex;flex-direction:column;gap:4px}.wd-nav-list>a,.wd-nav-list>button{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 10px;color:inherit;text-decoration:none;border:0;background:transparent;border-radius:10px;text-align:left;cursor:pointer}.wd-nav-list .nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wd-nav-list [aria-current=page]{background:color-mix(in srgb,var(--matrix-color-b,#8058dd) 15%,transparent)}
.wd-header-menu{position:relative}.wd-header-menu>summary{list-style:none;cursor:pointer;padding:8px 12px;border-radius:10px}.wd-header-menu>div{position:absolute;right:0;top:calc(100% + 8px);z-index:2100;width:250px;max-height:70vh;overflow:auto;padding:8px;background:var(--paper,var(--app-paper,#fff));border:1px solid color-mix(in srgb,currentColor 15%,transparent);border-radius:14px;box-shadow:0 16px 48px #0002}.wd-header-menu a,.wd-header-menu button{display:block;width:100%;padding:10px;color:inherit;text-decoration:none;text-align:left;border:0;background:none;cursor:pointer}.wd-header-menu a:hover,.wd-header-menu button:hover{background:color-mix(in srgb,currentColor 6%,transparent)}
.wd-card :focus-visible,.wd-navigation :focus-visible,.wd-header-menu :focus-visible{outline:2px solid var(--matrix-color-b,#8058dd);outline-offset:3px}
body:not(.app-menu-open):not(.app-menu-pinned) .app-sidebar .wd-nav-search,body:not(.app-menu-open):not(.app-menu-pinned) .app-sidebar .wd-more{display:none}
@media(max-width:760px){.wd-directory{padding:16px}.wd-heading{align-items:flex-start}.wd-controls{align-items:stretch}.wd-search{width:100%}.wd-search input{flex:1}.wd-grid{grid-template-columns:1fr}.wd-header-menu>div{position:fixed;right:12px;top:64px;max-width:calc(100vw - 24px)}}

.wd-card-title:is(button){font:inherit;background:none;border:0;padding:0;text-align:left;cursor:pointer}.wd-header-menu>.wd-menu-toggle{padding:8px 12px;white-space:nowrap;width:auto}.app-sidebar .wd-directory-link{border:0;background:none;font:inherit;cursor:pointer}.app-workspace-panel .wd-nav-list{max-height:45vh}.app-workspace-panel .wd-nav-list>button{width:100%}.app-header:has(.app-workspace-panel){z-index:2050}.app-sidebar #app-menu{min-height:0;overflow:hidden}.wd-nav-list{flex:1}.wd-heading .eyebrow{letter-spacing:.08em;text-transform:uppercase}

.wd-directory .sr-only,.wd-navigation .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.alshival-app .wd-card-title:is(button){font:inherit;border:0;background:none;padding:0;text-align:left}
body.alshival-app .wd-open.button{border:0;background:var(--matrix-color-b,#7b4dff);color:white;padding:10px 14px;border-radius:10px;font-size:13px}
body:not(.app-menu-open):not(.app-menu-pinned) .wd-navigation .nav-label{display:none}
.workspace-frame{overflow:auto;flex:1;min-height:0}.app-sidebar .wd-navigation{max-height:calc(100dvh - 80px)}

/* Override the legacy shell grid and full-width form fields. */
.alshival-app .app-sidebar nav.wd-nav-list{display:flex;flex-direction:column;justify-content:flex-start;align-content:flex-start;margin:0;gap:4px}
.alshival-app .app-sidebar nav.wd-nav-list>a,.alshival-app .app-sidebar nav.wd-nav-list>button{flex:none}
.alshival-app #app-page>#main:has(.wd-directory){padding:0}
.alshival-app .wd-controls .wd-search,.alshival-app .wd-controls .wd-startup{display:flex;flex-flow:row wrap;align-items:center;gap:8px}
.alshival-app .wd-controls input[type=search]{width:240px;max-width:100%;flex:0 1 240px}
.alshival-app .wd-controls label{white-space:nowrap;margin:0}
.alshival-app .wd-controls select{width:auto;margin:0}
.alshival-app .wd-controls .button{margin:0}
.alshival-app .wd-open.button{background:var(--app-ink,#0b0c11);color:var(--app-paper,#fff)}

/* Board navigation belongs to the workspace shell, management to its directory. */
.wd-boards{width:100%;font-size:13px}.wd-boards>summary{cursor:pointer;padding:8px 0}.wd-boards nav,.wd-boards [data-board-options]{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.wd-boards nav>button,.wd-boards [data-board-options]>a:not(.button){display:block;text-align:left;padding:8px 10px;color:inherit;background:color-mix(in srgb,currentColor 5%,transparent);border:0;border-radius:8px;text-decoration:none;font:inherit;cursor:pointer;overflow-wrap:anywhere}
.wd-board-manager form{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.wd-board-manager label{flex-basis:100%;margin:0}.wd-board-manager input{width:100%;box-sizing:border-box}.wd-board-manager .button{margin:0}
.alshival-app .app-sidebar #app-menu{overflow-y:auto}.app-sidebar nav.wd-board-navigation{display:flex;flex-direction:column;gap:4px;margin:12px 0}.wd-board-navigation>p{margin:4px 10px;color:var(--app-muted);font-size:12px}.app-sidebar .wd-board-navigation>a,.app-sidebar .wd-board-navigation>button{display:flex;align-items:center;gap:10px;flex:none;min-height:38px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:inherit;text-decoration:none;text-align:left;font:inherit;cursor:pointer}.wd-board-navigation .nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wd-board-navigation [aria-current=page]{background:color-mix(in srgb,var(--matrix-color-b,#8058dd) 15%,transparent)!important}
body:not(.app-menu-open):not(.app-menu-pinned) .app-sidebar .wd-board-navigation .nav-label{display:none}
