.materials-shell{display:grid;grid-template-columns:230px minmax(0,1fr);height:calc(100vh - var(--workspace-topbar-h,72px));height:calc(100dvh - var(--workspace-topbar-h,72px));min-height:0;background:var(--bg-main)}
.materials-sidebar{padding:18px 12px;border-right:1px solid var(--border);background:var(--bg-surface);overflow:auto}
.materials-sidebar-title{padding:0 10px 10px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.materials-nav-button{width:100%;border:0;background:transparent;color:var(--text-secondary);display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;font:inherit;font-size:13px;cursor:pointer;text-align:left}
.materials-nav-button:hover{background:var(--bg-surface-3);color:var(--text-primary)}
.materials-nav-button.active{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-weight:700}
.materials-nav-button b{font-size:11px;min-width:24px;padding:2px 7px;border-radius:999px;background:var(--bg-surface-3);text-align:center}
.materials-main{min-width:0;overflow:auto;padding:22px}
.materials-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.materials-toolbar h2{margin:0 0 5px;font-size:24px;color:var(--text-primary)}
.materials-toolbar p{margin:0;color:var(--text-muted);font-size:12px}
.materials-toolbar-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.materials-search{width:min(290px,35vw)}
.materials-mode-switch{display:flex;padding:3px;border-radius:11px;background:var(--bg-surface-2);border:1px solid var(--border)}
.materials-mode-switch button{border:0;background:transparent;color:var(--text-muted);padding:7px 10px;border-radius:8px;font:inherit;font-size:12px;cursor:pointer}
.materials-mode-switch button.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}
.materials-subfilters{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 16px}
.materials-chip{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);border-radius:999px;padding:7px 11px;font:inherit;font-size:12px;cursor:pointer}
.materials-chip.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-surface));color:var(--accent)}
.materials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;padding-bottom:32px}
.materials-grid.command-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:18px}
.materials-card{min-width:0;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--bg-surface);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.materials-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:var(--shadow-md)}
.materials-card-visual{height:116px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%,var(--bg-surface-2)),var(--bg-surface-3));display:flex;align-items:center;justify-content:center;overflow:hidden;text-decoration:none}
.materials-card-visual img.is-cover{width:100%;height:100%;object-fit:cover}.materials-card-visual img.is-icon{width:58px;height:58px;object-fit:contain;border-radius:14px;background:var(--bg-surface);padding:8px;box-shadow:var(--shadow-sm)}
.materials-card-visual>span{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--bg-surface);color:var(--accent);font-size:25px;font-weight:800;box-shadow:var(--shadow-sm)}
.materials-brand-cover{position:relative;width:100%;height:100%;isolation:isolate;overflow:hidden;background:var(--bg-surface-3);color:#222222}
.materials-brand-cover>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.materials-brand-cover::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.6) 37%,rgba(255,255,255,0) 72%)}
.materials-brand-cover.tone-light{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.45)}.materials-brand-cover.tone-light::after{background:linear-gradient(90deg,rgba(12, 12, 12,.8) 0%,rgba(12, 12, 12,.48) 40%,rgba(12, 12, 12,0) 74%)}
.materials-brand-cover-content{position:absolute;inset:0;display:flex;align-items:center;gap:12px;padding:18px}
.materials-brand-monogram{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border:1px solid currentColor;border-radius:16px;background:rgba(255,255,255,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 28px rgba(0,0,0,.12);backdrop-filter:blur(10px);font-size:18px;font-weight:850;letter-spacing:-.03em}.tone-light .materials-brand-monogram{background:rgba(12, 12, 12,.24);border-color:rgba(255,255,255,.42)}
.materials-brand-title{display:flex;min-width:0;flex-direction:column;gap:4px;text-align:left}.materials-brand-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;line-height:1.1}.materials-brand-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:color-mix(in srgb,currentColor 72%,transparent);font-size:10px;letter-spacing:.04em;text-transform:uppercase}
.command-card .materials-card-visual{height:190px}
.materials-card-body{display:flex;flex:1;flex-direction:column;padding:14px}
.materials-card-kicker{display:flex;justify-content:space-between;gap:8px;color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;overflow:hidden}
.materials-card-kicker span:last-child{overflow:hidden;text-overflow:ellipsis}
.materials-card h3{margin:8px 0 6px;font-size:16px;line-height:1.3}.materials-card h3 a{color:var(--text-primary);text-decoration:none}.materials-card h3 a:hover{color:var(--accent)}
.materials-card p{color:var(--text-secondary);font-size:12px;line-height:1.5;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.materials-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:auto}.materials-tags span{font-size:10px;color:var(--text-secondary);background:var(--bg-surface-2);border-radius:999px;padding:4px 7px}
.materials-card-footer{display:flex;gap:8px;align-items:center;margin-top:13px;padding-top:10px;border-top:1px solid var(--border-light)}
.materials-move-select{min-width:0;flex:1;height:32px;padding:4px 8px;font-size:11px}
.materials-card-actions{display:flex;gap:4px}.materials-card-actions button{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);height:30px;min-width:30px;border-radius:7px;font:inherit;font-size:11px;cursor:pointer}.materials-card-actions button:hover{color:var(--accent);border-color:var(--accent)}.materials-card-actions button:disabled{opacity:.3;cursor:default}
.materials-card.has-cover{position:relative;aspect-ratio:1/1;min-height:0;border-color:rgba(255,255,255,.18);background:#1a1a1a;color:#fff}
.materials-card.has-cover .materials-card-visual{position:absolute;z-index:0;inset:0;height:auto;background:#1a1a1a}
.materials-card.has-cover .materials-card-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15, 15, 15,.02) 0%,rgba(15, 15, 15,.08) 30%,rgba(15, 15, 15,.68) 58%,rgba(15, 15, 15,.96) 82%,rgba(15, 15, 15,.99) 100%)}
.materials-card.has-cover .materials-card-visual img.is-cover{width:100%;height:100%;object-fit:cover}
.materials-card.has-cover .materials-card-visual img{transition:transform .22s ease,filter .22s ease}
.materials-card.has-cover:hover .materials-card-visual img,.materials-card.has-cover:focus-within .materials-card-visual img{transform:scale(1.035);filter:saturate(1.06)}
.materials-card.has-cover .materials-brand-cover::after,.materials-card.has-cover .materials-brand-cover-content{display:none}
.materials-card.has-cover .materials-card-body{position:relative;z-index:1;width:100%;height:100%;min-height:0;justify-content:flex-end;padding:40% 14px 14px;background:linear-gradient(180deg,transparent 0%,rgba(15, 15, 15,.06) 35%,rgba(15, 15, 15,.58) 62%,rgba(15, 15, 15,.93) 84%,rgba(15, 15, 15,.98) 100%);transition:padding-bottom .18s ease}
.materials-card.has-cover:hover .materials-card-body,.materials-card.has-cover:focus-within .materials-card-body{padding-bottom:62px}
.materials-card.has-cover .materials-card-kicker{color:rgba(255,255,255,.68)}
.materials-card.has-cover h3 a{color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.48)}.materials-card.has-cover h3 a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.materials-card.has-cover p{color:rgba(255,255,255,.82)}
.materials-card.has-cover .materials-tags{margin-top:4px}.materials-card.has-cover .materials-tags span{color:rgba(255,255,255,.88);background:rgba(20, 20, 20,.58);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px)}
.materials-card.has-cover .materials-card-footer{position:absolute;z-index:2;left:14px;right:14px;bottom:14px;margin:0;padding-top:10px;border-top-color:rgba(255,255,255,.18);opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.materials-card.has-cover:hover .materials-card-footer,.materials-card.has-cover:focus-within .materials-card-footer{opacity:1;transform:translateY(0);pointer-events:auto}
.materials-card.has-cover .materials-move-select,.materials-card.has-cover .materials-card-actions button{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.92);color:#282828;box-shadow:0 4px 16px rgba(0,0,0,.14);backdrop-filter:blur(10px)}
.materials-card.has-cover .materials-card-actions button:hover{border-color:#fff;background:#fff;color:#1a1a1a}
.materials-empty{grid-column:1/-1;min-height:260px;border:1px dashed var(--border);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-muted);gap:7px;padding:24px}.materials-empty strong{color:var(--text-primary);font-size:16px}
.materials-dialog-backdrop{display:none;position:fixed;inset:0;z-index:950;background:rgba(17, 17, 17,.62);backdrop-filter:blur(4px);padding:24px;align-items:center;justify-content:center}.materials-dialog-backdrop.open{display:flex}
.materials-dialog{width:min(720px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:18px;background:var(--bg-surface);border:1px solid var(--border);box-shadow:0 24px 80px rgba(0,0,0,.3)}
.materials-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}.materials-dialog-head h2{margin:0;font-size:19px}.materials-dialog-close{border:0;background:transparent;color:var(--text-muted);font-size:25px;cursor:pointer}
.materials-form{padding:20px}.materials-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.materials-form-grid .wide{grid-column:1/-1}.materials-form label{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:11px;font-weight:700}.materials-form textarea{resize:vertical;min-height:82px}
.materials-field-row{display:flex;gap:8px}.materials-field-row input{flex:1;min-width:0}.materials-field-row button{white-space:nowrap}
.materials-check{flex-direction:row!important;align-items:center;gap:9px!important;font-size:12px!important}.materials-check input{width:17px;height:17px}
.materials-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.materials-import-body{padding:18px 20px}.materials-import-summary{font-size:12px;color:var(--text-secondary);margin-bottom:12px}.materials-import-list{display:flex;flex-direction:column;gap:6px;max-height:55vh;overflow:auto}.materials-import-row{display:grid;grid-template-columns:68px minmax(0,1fr) minmax(150px,.7fr);gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--border-light);border-radius:9px}.materials-import-row>span{font-size:10px;font-weight:700;color:#16845b}.materials-import-row.duplicate{opacity:.55}.materials-import-row.duplicate>span{color:#a66a12}.materials-import-row strong,.materials-import-row small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.materials-import-row strong{font-size:12px}.materials-import-row small{color:var(--text-muted)}
@media(max-width:900px){.materials-shell{grid-template-columns:1fr;grid-template-rows:max-content minmax(0,1fr);height:auto;min-height:calc(100vh - 60px)}.materials-sidebar{border-right:0;border-bottom:1px solid var(--border);padding:10px;overflow:auto}.materials-sidebar-title{display:none}.materials-categories{display:flex;min-width:max-content}.materials-nav-button{width:auto;min-height:44px;gap:8px}.materials-main{padding:15px}.materials-toolbar{flex-direction:column}.materials-toolbar-controls{width:100%;justify-content:flex-start}.materials-search{width:100%;max-width:none}.materials-grid,.materials-grid.command-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}
@media(max-width:699px){.materials-shell{height:calc(100dvh - var(--workspace-topbar-h,68px));min-height:0}}
@media(max-width:560px){.materials-dialog-backdrop{padding:0;align-items:flex-end}.materials-dialog{width:100%;max-height:92vh;border-radius:18px 18px 0 0}.materials-form-grid{grid-template-columns:1fr}.materials-form-grid .wide{grid-column:auto}.materials-field-row{flex-direction:column}.materials-grid,.materials-grid.command-grid{grid-template-columns:1fr}.materials-toolbar-controls .btn{flex:1}.materials-import-row{grid-template-columns:64px minmax(0,1fr)}.materials-import-row small{grid-column:2}.materials-card-footer{align-items:flex-start;flex-direction:column}.materials-move-select{width:100%}.materials-card-actions{width:100%}.materials-card-actions button{flex:1}.materials-card.has-cover:hover .materials-card-body,.materials-card.has-cover:focus-within .materials-card-body{padding-bottom:104px}}
@media(hover:none),(pointer:coarse){.materials-card.has-cover .materials-card-footer{opacity:1;transform:none;pointer-events:auto}.materials-card.has-cover .materials-card-body{padding-bottom:62px}}
@media(max-width:560px) and (hover:none),(max-width:560px) and (pointer:coarse){.materials-card.has-cover .materials-card-body{padding-bottom:104px}}
@media(prefers-reduced-motion:reduce){.materials-card,.materials-card.has-cover .materials-card-body,.materials-card.has-cover .materials-card-footer,.materials-card.has-cover .materials-card-visual img{transition:none}.materials-card:hover{transform:none}.materials-card.has-cover:hover .materials-card-visual img,.materials-card.has-cover:focus-within .materials-card-visual img{transform:none}}
