/* A mirrored push drawer keeps groups out of the document workspace. */
.dashboard{--group-drawer-width:300px}
.dashboard .material-groups-toggle{position:absolute;right:76px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:10px;border:0;border-radius:8px;background:transparent;color:#323733;box-shadow:none}
.material-groups-toggle .icon{width:23px;height:23px}
.dashboard .material-groups-toggle:is(:hover,:active,:focus){background:transparent;box-shadow:none}
.dashboard .material-groups-toggle:active{opacity:.45}
.dashboard .material-groups-toggle:focus-visible{outline:1px solid #9ba59e;outline-offset:-4px}
.material-group-drawer{position:fixed;inset:0 0 auto auto;z-index:30;display:flex;flex-direction:column;gap:12px;width:var(--group-drawer-width);height:100svh;min-height:0;padding:20px 14px max(16px,env(safe-area-inset-bottom));background:#f7f8f6;opacity:0;transform:translateX(16px);transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .2s;overflow:hidden}
.material-group-drawer[hidden],.material-drawer-backdrop[hidden]{display:none}
.dashboard[data-groups-open=true] .material-group-drawer{opacity:1;transform:translateX(0)}
.dashboard[data-groups-open=true] .workspace-page{transform:translateX(calc(-1 * var(--group-drawer-width)));border-radius:0 22px 22px 0;box-shadow:8px 0 30px #17251e24,0 0 1px #17251e44}
.dashboard[data-groups-open=true] .extraction-progress{visibility:hidden}
.dashboard .material-drawer-backdrop{position:fixed;inset:0 var(--group-drawer-width) 0 0;z-index:45;width:auto;height:100svh;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;touch-action:none}
.material-drawer-top{display:flex;gap:8px;align-items:center;flex-shrink:0}
.dashboard .material-drawer-top #material-create{flex:1;min-width:0;min-height:44px;height:44px;width:auto;margin:0;padding:9px 12px;border:1px solid #e0e5df;border-radius:11px;background:#fff;color:#253e33;font-size:13px;box-shadow:none}
.dashboard .material-drawer-top #material-delete{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;margin:0;border:1px solid #e0e5df;border-radius:11px;background:#fff;color:#768278;box-shadow:none}
.dashboard .material-drawer-top #material-delete[aria-pressed=true]{background:#fee9e9;border-color:#f5c2c2;color:#dc2626}
.material-group-drawer #material-groups{display:flex;flex-direction:column;flex:1;min-height:0;gap:6px;margin:0;padding:2px 0 12px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.dashboard .material-group-drawer .material-group{display:flex;align-items:center;gap:10px;flex-shrink:0;width:100%;min-height:48px;margin:0;padding:11px 12px;border-radius:11px;font-size:13px;touch-action:pan-y;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;text-align:left}
.material-group-drawer .material-group-name{min-width:0;max-width:none;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.material-group-drawer .material-group-badge{flex-shrink:0}
.material-group-drawer .material-group-selector{width:18px;height:18px;flex:0 0 18px;border:1px solid #cdd4ce;border-radius:5px}
.dashboard .material-group-drawer .material-group[aria-checked=true]{background:#fee9e9;color:#b91c1c}
.material-group-drawer .material-group[aria-checked=true] .material-group-selector{background:#dc2626;border-color:#dc2626;color:#fff}
.material-drawer-bottom{flex-shrink:0;margin-top:auto}
.material-drawer-bottom:has(>button[hidden]):not(:has(.material-group-delete-actions:not([hidden]))){display:none}
.material-drawer-bottom #material-undo{width:100%;min-height:44px;text-align:left;font-size:12px}
.material-group-drawer .material-group-delete-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px 0 0;margin:0;border-top:1px solid #e1e5de;font-size:12px}
.material-group-drawer .material-group-delete-actions[hidden]{display:none}
.material-group-delete-actions>div{display:flex;gap:8px}
.dashboard .material-group-delete-actions button{min-height:44px;flex:1;border:1px solid #dce2da;border-radius:10px;background:#fff;font-size:12px;padding:8px}
.dashboard .material-group-delete-actions #material-delete-confirm{background:#dc2626;border-color:#dc2626;color:#fff}
.dashboard .material-group-delete-actions #material-delete-confirm:disabled{opacity:.4}
.dashboard:not(.extraction-demo) .materials-layout{display:block}
.dashboard:not(.extraction-demo) .material-content{padding:16px 20px;border-radius:18px}
.dashboard:not(.extraction-demo) #material-items{min-height:160px}
.dashboard:not(.extraction-demo) #material-items[aria-busy=true]::before{height:120px}
.dashboard:not(.extraction-demo) .material-toolbar{margin:0 0 12px;gap:8px}
.dashboard:not(.extraction-demo) .material-toolbar>#material-source{flex:0 0 auto;min-width:72px;padding:9px 18px;font-size:13px;min-height:42px;border-radius:10px}
.dashboard .material-export-menu{position:relative;flex:0 0 auto;min-width:0}
.dashboard .material-export-menu>summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 16px;border:1px solid #dce2da;border-radius:10px;font-size:13px;color:#3c4b42;background:#fff;list-style:none;cursor:pointer}
.material-export-menu>summary::-webkit-details-marker{display:none}
.material-export-menu>summary .icon{width:14px;height:14px}
.material-export-options{position:absolute;top:calc(100% + 6px);left:0;z-index:50;width:164px;padding:8px;border:1px solid #e3e7e0;border-radius:13px;background:#fff;box-shadow:0 8px 30px #1d342019}
.material-export-options>span{display:block;padding:5px 8px;font-size:11px}
.dashboard .material-export-options>button{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px;border:0;border-radius:8px;text-align:left;white-space:nowrap;font-size:13px;background:transparent;color:#33483c}
.material-export-options>button:hover{background:#f1f4ef}
.material-export-options>button .icon{width:17px;height:17px}
.material-dragging .material-group{cursor:grabbing}
.material-group-lifted{opacity:.25!important}
.dashboard .material-drag-ghost{position:fixed;z-index:85;display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #a7c3ac;border-radius:11px;color:#2b5740;background:#e7f0e7;box-shadow:0 8px 22px #183d2529;pointer-events:none;opacity:.97;font-size:13px}
.material-drag-ghost .material-group-name{flex:1}
.material-drop-line{position:fixed;z-index:84;height:3px;border-radius:2px;background:#39815e;pointer-events:none}
@media(min-width:861px){
 .dashboard:not(.extraction-demo)[data-view=materials] .workspace-page{position:relative;z-index:40;display:block;width:calc(100% - 216px);min-height:100svh;margin-left:216px;background:#fff;transform:translateX(0);transition:transform .3s cubic-bezier(.2,.8,.2,1),border-radius .3s,box-shadow .3s}
 .dashboard:not(.extraction-demo)[data-view=materials] .workspace-page .workspace-topbar{width:100%;margin-left:0}
 .dashboard:not(.extraction-demo)[data-view=materials] .workspace-page .workspace-main{width:100%;max-width:1240px;margin-inline:auto}
 .dashboard:not(.extraction-demo)[data-view=materials][data-groups-open=true] .workspace-page{transform:translateX(calc(-1 * var(--group-drawer-width)))}
}
@media(max-width:860px){
 .dashboard{--group-drawer-width:min(280px,72vw)}
 .dashboard .material-groups-toggle{right:10px}
 .material-group-drawer{padding-top:max(10px,env(safe-area-inset-top));padding-inline:12px}
 .dashboard:not(.extraction-demo) .material-content{padding:12px;border-radius:15px}
 .dashboard:not(.extraction-demo) .material-selection{gap:4px 8px;padding:8px 0}
 .dashboard:not(.extraction-demo) .material-selection .quiet{padding-inline:3px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.dashboard .material-group-drawer,.dashboard[data-view=materials] .workspace-page{transition:none}}
