html.cv-desktop-mode .cv-library { --library-gold:#e8ca6b; color:#f5f1e8; font-family:inherit; }
.studio-view[data-view="materials"] .studio-page-head { margin-bottom:28px; }
.studio-view[data-view="materials"] .studio-page-head h1 { font-size:clamp(32px,3vw,44px); line-height:1.1; letter-spacing:-.045em; }
.studio-view[data-view="materials"] .studio-page-head p { max-width:620px; font-size:14px; line-height:1.65; margin-top:12px; }
.cv-library-toolbar,.cv-library-search,.cv-library-tabs,.cv-library-actions,.cv-library footer { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.cv-library-toolbar { justify-content:space-between; margin-bottom:16px; }
.cv-library button,.cv-library-form button,.cv-library-input-actions button,.cv-library-dialog header button,.cv-library-dialog [data-product-picker-back] { display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; font-family:inherit; font-size:13px; font-weight:650; line-height:1.3; letter-spacing:-.015em; border:1px solid #f4eacb24; border-radius:10px; background:#f4eacb04; color:#d7d2c5; padding:10px 15px; min-height:42px; transition:background .16s,border-color .16s,color .16s; }
.cv-library svg,.cv-library-form svg { width:18px; height:18px; flex:none; }
.cv-library button:hover,.cv-library-form button:hover,.cv-library-input-actions button:hover { border-color:#e8ca6b66; background:#e8ca6b0d; color:#f5f1e8; }
.cv-library button:focus-visible,.cv-library-search input:focus-visible,.cv-library-input-actions button:focus-visible,.cv-library-dialog :focus-visible { outline:2px solid #e8ca6b; outline-offset:3px; }
.cv-library button:disabled,.cv-library-form button:disabled { cursor:default; opacity:.45; }
.cv-library button[aria-pressed=true] { color:#e8ca6b; border-color:#e8ca6b55; background:#e8ca6b0d; }
.cv-library .cv-library-primary,.cv-library-form .cv-library-primary { background:linear-gradient(115deg,#f0da92,#c69b43); color:#201b0e; border-color:transparent; font-weight:750; padding-inline:18px; box-shadow:0 3px 12px #0002; }
.cv-library .cv-library-primary:hover,.cv-library-form .cv-library-primary:hover { background:linear-gradient(115deg,#f6e2a5,#d6ad56); color:#17130a; }
.cv-library .cv-library-icon-button { width:42px; padding:10px; flex:0 0 42px; }
.cv-library-search { margin:0 0 24px; flex-wrap:nowrap; }
.cv-library-search label { position:relative; flex:1; min-width:0; }
.cv-library-search label>svg { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#9f9c90; pointer-events:none; }
.cv-library-search input,.cv-library-form input:not([type=radio]),.cv-library-form textarea { display:block; box-sizing:border-box; width:100%; border:1px solid #f4eacb26; background:#080a07; border-radius:10px; padding:12px 14px; color:#f5f1e8; font-family:inherit; font-size:14px; font-weight:450; line-height:1.5; margin-top:8px; min-height:46px; }
.cv-library-search input { margin:0; min-height:42px; height:42px; padding:9px 14px 9px 42px; font-size:13px; }
.cv-library-search input::placeholder,.cv-library-form input::placeholder,.cv-library-form textarea::placeholder { color:#8d8e82; opacity:.8; }
.cv-product-toolbar>button { white-space:nowrap; }
.cv-product-toolbar .cv-library-primary { margin-left:6px; }
.cv-library-caption { color:#8e9083; font-size:11px; font-weight:450; line-height:1.6; margin:4px 0 0; }
.cv-library-status { color:#e8ca81; font-size:13px; line-height:1.5; margin:12px 0; }
.cv-library-status:empty { display:none; }
.cv-library-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(245px,1fr)); gap:20px; }
.cv-library-card { display:flex; flex-direction:column; background:linear-gradient(145deg,#191a13,#11120e); border:1px solid #f4eacb1f; border-radius:18px; overflow:hidden; min-width:0; transition:border-color .18s; }
.cv-library-card:hover { border-color:#e8ca6b55; }
.cv-library-preview { position:relative; flex:none; aspect-ratio:4/3; background:radial-gradient(ellipse at 50% 60%,#292a20,#10120d 85%); overflow:hidden; border-bottom:1px solid #f4eacb0d; }
.cv-library-preview img { display:block; width:100%; height:100%; object-fit:contain; }
.cv-product-photo-count { position:absolute; top:12px; right:12px; display:flex; align-items:center; gap:6px; padding:6px 9px; border:1px solid #fff2; border-radius:7px; background:#0c0e0bd9; color:#ede8da; font-size:11px; font-weight:550; backdrop-filter:blur(10px); }
.cv-product-photo-count svg { width:14px; height:14px; }
.cv-library-card-body { padding:19px; flex:1; display:flex; flex-direction:column; }
.cv-library-card small,.cv-library-eyebrow { font-size:9px; letter-spacing:1.5px; color:#c3ad6b; font-weight:750; text-transform:uppercase; }
.cv-library-card h3 { font-family:inherit; font-weight:750; font-size:17px; letter-spacing:-.035em; line-height:1.3; margin:9px 0; overflow-wrap:anywhere; }
.cv-product-card h3 { margin:0 0 8px; }
.cv-library-card p { color:#a0a194; font-size:12px; line-height:1.6; margin:0 0 20px; }
.cv-library-actions { gap:8px; margin-top:auto; }
.cv-library-actions button { flex:1; padding:9px 10px; font-size:12px; min-height:38px; }
.cv-library-actions .cv-library-icon-button { min-height:38px; width:38px; flex-basis:38px; }
.cv-library-actions .cv-product-open { justify-content:space-between; border-color:#e8ca6b2e; color:#e2cd8c; }
.cv-library footer { justify-content:space-between; color:#b1b1a6; font-size:11px; padding:20px 0 0; }
.cv-library-empty { grid-column:1/-1; border:1px solid #f4eacb20; background:radial-gradient(ellipse at 50% 0,#e8ca6b09,transparent 70%),#10120dcc; border-radius:18px; padding:56px 24px; text-align:center; }
.cv-library-empty>span { display:inline-flex; align-items:center; justify-content:center; color:#e8ca6b; width:54px; height:54px; background:#e8ca6b0c; border:1px solid #e8ca6b33; border-radius:15px; }
.cv-library-empty>span svg { width:24px; height:24px; }
.cv-library-empty h3 { font-size:22px; font-weight:750; letter-spacing:-.04em; margin:20px 0 10px; }
.cv-library-empty p { max-width:390px; margin:0 auto 22px; color:#a4a597; font-size:13px; line-height:1.7; }
html.cv-desktop-mode .cv-library-dialog { box-sizing:border-box; width:min(1080px,calc(100vw - 64px)); max-height:calc(100dvh - 64px); padding:28px; border:1px solid #e8ca6b3d; border-radius:22px; color:#f5f1e8; background:radial-gradient(ellipse at 100% 0,#e8ca6b09,transparent 45%),#11130e; box-shadow:0 30px 120px #000c; font-family:inherit; overflow:auto; }
html.cv-desktop-mode .cv-library-dialog:has(.cv-library-form) { width:min(740px,calc(100vw - 64px)); }
html.cv-desktop-mode .cv-library-dialog:has(.cv-product-form) { width:min(940px,calc(100vw - 64px)); display:flex; flex-direction:column; overflow:hidden; }
.cv-library-dialog:has(.cv-product-form)>header { flex:none; }
.cv-library-dialog:has(.cv-product-form)>[data-library-dialog-body] { min-height:0; overflow:auto; padding:3px; margin:-3px; }
.cv-library-dialog::backdrop { background:#030503c9; backdrop-filter:blur(8px); }
.cv-library-dialog>header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid #f4eacb17; }
.cv-library-dialog h2 { font-family:inherit; font-size:28px; font-weight:750; letter-spacing:-.045em; line-height:1.2; margin:8px 0 0; }
.cv-library-dialog header button { flex:none; font-weight:450; font-size:24px; width:36px; min-height:36px; padding:0; background:#ffffff04; }
.cv-library-dialog .cv-library-grid { grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); }
.cv-library-dialog [data-product-picker-back] { margin-bottom:20px; }
.cv-library-form { max-width:640px; margin:auto; display:grid; gap:22px; }
.cv-library-form label,.cv-library-form legend { font-size:13px; font-weight:650; letter-spacing:-.015em; color:#dfdbcf; }
.cv-library-form fieldset { border:0; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:10px; min-width:0; }
.cv-library-form legend { width:100%; margin-bottom:12px; }
.cv-library-kind { display:flex; align-items:center; gap:8px; padding:12px; border:1px solid #ffffff20; border-radius:10px; }
.cv-library-kind:has(:checked) { border-color:#d8bc6677; background:#d8bc6612; }
.cv-library-kind input { accent-color:#d8bc66; }
.cv-library-file small { display:block; margin-top:10px; color:#979d8c; font-size:11px; font-weight:450; }
.cv-library-file input::file-selector-button { font:inherit; cursor:pointer; color:#ead28a; background:#d7bc6415; border:1px solid #d7bc6450; border-radius:8px; padding:9px 12px; margin-right:12px; }
.cv-library-notice { color:#96988b; font-size:12px; font-weight:450; line-height:1.65; margin:0; }
html.cv-desktop-mode .cv-library-input-actions { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 16px; grid-column:1/-1; }
html.cv-desktop-mode .cv-library-input-actions button { min-height:36px; font-size:12px; padding:8px 12px; color:#e1c976; }
.cv-library-input-group { min-width:0; display:flex; flex-direction:column; }
.cv-library-input-group:only-child { grid-column:1/-1; }
.cv-library-input-group>.cv-desk-editor-upload,.cv-library-input-group>.cv-desk-creation-upload-slot { flex:1; }
.cv-library [hidden],.cv-library-input-actions [hidden],.cv-library-dialog [hidden],[data-library-root] [hidden] { display:none!important; }
.cv-library-sections { display:flex; gap:26px; margin-bottom:24px; border-bottom:1px solid #f4eacb1c; }
.cv-library-sections button { position:relative; min-height:44px; padding:0 2px 15px; border:0; border-radius:0; font-size:14px; background:none; color:#96998a; }
.cv-library-sections button[aria-pressed=true],.cv-library-sections button:hover { color:#e8ca6b; background:none; border:0; }
.cv-library-sections button[aria-pressed=true]::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:#e8ca6b; border-radius:2px; }
.cv-library-form textarea { resize:vertical; min-height:162px; }
.cv-library-form label>small { display:block; margin-top:8px; color:#939587; font-size:11px; line-height:1.5; font-weight:450; }
.cv-product-form { max-width:none; gap:20px; }
.cv-product-editor-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:30px; }
.cv-product-media,.cv-product-details { min-width:0; display:flex; flex-direction:column; gap:20px; }
.cv-product-media { padding:18px; background:#090c0870; border:1px solid #f4eacb16; border-radius:16px; }
.cv-product-media legend span { float:right; font-size:11px; font-weight:450; color:#97998b; }
.cv-product-media .cv-library-actions { margin-top:0; }
.cv-product-media .cv-library-notice { font-size:11px; }
.cv-product-photos { width:100%; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.cv-product-photo { position:relative; min-width:0; border:1px solid #e8ca6b24; border-radius:12px; overflow:hidden; background:#10130d; }
.cv-product-photo.is-cover { grid-column:1/-1; }
.cv-product-photo img { display:block; width:100%; height:66px; object-fit:contain; background:radial-gradient(ellipse at 50% 60%,#303025,#151711); }
.cv-product-photo.is-cover img { height:200px; }
.cv-product-photo>span { display:none; }
.cv-product-photo.is-cover>span { display:block; padding:12px; font-size:11px; font-weight:600; color:#c6b479; }
.cv-product-photo>div { display:flex; gap:3px; padding:4px; }
.cv-product-photo.is-cover>div { position:absolute; right:5px; bottom:5px; padding:0; }
.cv-product-photo button { padding:3px; min-height:28px; border-radius:6px; flex:1; }
.cv-product-photo button svg { width:13px; height:13px; }
.cv-product-photo button[data-product-remove] { flex:none; width:27px; font-size:16px; }
.cv-library-form .cv-product-photo-empty { grid-column:1/-1; display:flex; flex-direction:column; gap:12px; min-height:235px; width:100%; border:1px dashed #e8ca6b44; background:radial-gradient(ellipse at 50% 50%,#e8ca6b0a,transparent); color:#c8ba8b; padding:24px; }
.cv-product-photo-empty svg { width:32px; height:32px; margin-bottom:8px; }
.cv-product-photo-empty strong { font-size:14px; font-weight:650; color:#e4dece; }
.cv-product-photo-empty span { font-size:11px; color:#96998a; }
.cv-product-description { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.6; overflow-wrap:anywhere; min-height:38px; }
.cv-product-reuse-note { display:flex; align-items:flex-start; gap:12px; padding:16px; border:1px solid #e8ca6b24; border-radius:12px; background:#e8ca6b06; }
.cv-product-reuse-note>span { color:#e8ca6b; padding-top:1px; }
.cv-product-reuse-note strong { font-size:12px; font-weight:650; color:#d9c999; }
.cv-product-reuse-note p { font-size:12px; color:#a0a294; line-height:1.65; margin:6px 0 0; }
.cv-product-editor-footer { position:sticky; bottom:0; z-index:1; display:flex; justify-content:space-between; align-items:center; gap:16px; border-top:1px solid #f4eacb1c; padding:16px 0 3px; background:#11130e; box-shadow:0 -8px 16px #11130ef0; }
.cv-product-editor-footer .cv-library-primary { min-width:190px; }
.cv-library-form .cv-library-danger-quiet { color:#c49487; border-color:transparent; background:transparent; padding-left:0; }
.cv-library-form .cv-library-danger-quiet:hover { color:#efb6a6; }
.cv-product-delete-confirm { border:1px solid #d8907344; border-radius:12px; padding:18px; background:#d8907308; }
.cv-product-delete-confirm strong { display:block; font-size:15px; overflow-wrap:anywhere; }
.cv-product-delete-confirm p { font-size:12px; color:#b6a89a; line-height:1.65; margin:10px 0 16px; }
.cv-product-delete-confirm .cv-library-actions { justify-content:flex-end; }
.cv-product-delete-confirm button { flex:none; }
.cv-library-form .cv-library-danger { background:#c5745f; border-color:#c5745f; color:#180c08; }
.cv-library-form .cv-library-danger:hover { background:#df917b; color:#180c08; }
.cv-library-preview-note { display:flex; gap:10px; align-items:center; font-size:11px; line-height:1.5; color:#96998a; padding:10px 14px; border:1px solid #f4eacb18; border-radius:9px; background:#151711; margin:0 0 24px; }
.cv-library-preview-note strong { color:#d6c690; font-weight:600; white-space:nowrap; }
html.cv-desktop-mode .cv-library-presenter-controls { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 18px; padding-bottom:16px; border-bottom:1px solid #f4eacb18; }
html.cv-desktop-mode .cv-library-presenter-controls>span { flex:1 1 180px; color:#989b8d; font-family:inherit; font-size:12px; font-weight:500; line-height:1.5; }
html.cv-desktop-mode .cv-library-presenter-controls>button { display:inline-flex; align-items:center; justify-content:center; flex:0 1 auto; width:auto; min-height:38px; padding:9px 13px; border:1px solid #e8ca6b35; border-radius:9px; color:#e2ce92; background:#e8ca6b08; font-family:inherit; font-size:12px; line-height:1.4; font-weight:650; letter-spacing:0; box-shadow:none; cursor:pointer; }
html.cv-desktop-mode .cv-library-presenter-controls>button:hover { background:#e8ca6b16; border-color:#e8ca6b70; }
html.cv-desktop-mode .cv-library-presenter-controls>button:focus-visible { outline:2px solid #e8ca6b; outline-offset:3px; }
.cv-presenter-save-layout { display:grid; grid-template-columns:180px minmax(0,1fr); align-items:start; gap:28px; }
.cv-library-dialog .cv-library-portrait { display:block; width:100%; height:240px; border-radius:14px; object-fit:contain; background:radial-gradient(ellipse at 50% 60%,#303025,#151711); border:1px solid #e8ca6b24; }
.cv-library-dialog .cv-presenter-save-layout h3 { font-family:inherit; font-size:22px; line-height:1.3; letter-spacing:-.035em; margin:0 0 14px; overflow-wrap:anywhere; }
.cv-presenter-saved-info { margin:18px 0; }
.cv-presenter-saved-info>span { display:block; font-size:10px; font-weight:650; color:#b6a474; margin-bottom:8px; text-transform:uppercase; letter-spacing:1px; }
.cv-presenter-saved-info>strong { display:block; color:#e7d8ab; font-size:14px; font-weight:650; line-height:1.5; overflow-wrap:anywhere; }
.cv-presenter-saved-info p { color:#a5a899; font-size:12px; font-weight:450; line-height:1.7; margin:10px 0; }
.cv-library-preview.cv-library-presenter-preview { aspect-ratio:auto; height:210px; padding:12px; box-sizing:border-box; }
.cv-library-presenter-preview img { border-radius:9px; }
.cv-library-presenter-card .cv-library-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; width:100%; }
.cv-library-presenter-card .cv-library-actions button { min-width:0; padding:9px 10px; }
.cv-library-dialog .cv-library>.cv-library-notice { margin-bottom:18px; }
html.cv-desktop-mode .cv-library-dialog:has(.cv-brand-form) { width:min(980px,calc(100vw - 48px)); display:flex; flex-direction:column; overflow:hidden; }
.cv-library-dialog:has(.cv-brand-form)>header { flex:none; margin-bottom:20px; padding-bottom:20px; }
.cv-library-dialog:has(.cv-brand-form)>[data-library-dialog-body] { min-height:0; overflow:auto; padding:3px; margin:-3px; }
.cv-brand-form { max-width:none; gap:20px; }
.cv-brand-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:start; gap:28px; }
.cv-brand-fields { display:grid; gap:18px; min-width:0; }
.cv-brand-fields textarea { min-height:84px; }
.cv-brand-optional { color:#858979; font-size:11px; font-weight:450; margin-left:6px; }
.cv-brand-preview { position:sticky; top:0; min-width:0; padding:26px; background:radial-gradient(ellipse at 90% 0,#e8ca6b0c,transparent 65%),#0c0f0b; border:1px solid #e8ca6b29; border-radius:16px; }
.cv-brand-preview h3 { font-family:inherit; font-size:30px; font-weight:750; line-height:1.2; letter-spacing:-.04em; margin:18px 0; overflow-wrap:anywhere; }
.cv-brand-preview>p[data-brand-summary] { white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.7; color:#b8b9aa; margin:20px 0 28px; }
.cv-brand-preview .cv-product-reuse-note { margin-bottom:18px; }
.cv-brand-swatches { display:flex; flex-wrap:wrap; gap:10px; }
.cv-brand-swatches>span { display:flex; align-items:center; gap:6px; font-size:10px; color:#b5b5a7; }
.cv-brand-swatches i { display:block; width:22px; height:22px; border:1px solid #ffffff30; border-radius:50%; }
.cv-brand-form .cv-product-editor-footer>.cv-library-actions { margin:0 0 0 auto; }
.cv-brand-form .cv-product-editor-footer button { white-space:nowrap; }
.cv-brand-confirm textarea { min-height:250px; }
.cv-brand-confirm .cv-library-actions { justify-content:flex-end; }
.cv-library button.cv-library-media-cover { display:flex; flex-direction:column; justify-content:center; gap:18px; width:100%; height:154px; border:0; border-bottom:1px solid #e8ca6b1f; border-radius:0; background:radial-gradient(ellipse at 50% 100%,#e8ca6b15,transparent 80%),#10130d; }
.cv-library-media-cover>span { display:grid; place-items:center; width:48px; height:48px; border:1px solid #e8ca6b44; border-radius:50%; color:#e8ca6b; font-size:24px; }
.cv-library button.cv-library-media-cover:hover { background:radial-gradient(ellipse at 50% 100%,#e8ca6b25,transparent 80%),#14170f; }
.cv-library-media-detail { display:grid; gap:18px; }
.cv-library-media-detail video { display:block; width:100%; max-height:42dvh; background:#080a07; border:1px solid #e8ca6b20; border-radius:12px; }
.cv-library-media-detail audio { display:block; width:100%; margin:20px 0; }
.cv-library-media-detail>.cv-library-primary { justify-self:end; }
.cv-library-media-detail .cv-library-status { margin:0; }
.cv-library-sections { flex-wrap:wrap; }
@media(max-width:760px) { .cv-brand-layout { grid-template-columns:1fr; gap:20px; } .cv-brand-preview { position:static; padding:20px; } .cv-brand-preview h3 { font-size:24px; } .cv-brand-form .cv-product-editor-footer { flex-wrap:wrap; } }
@media(max-height:800px) {
  html.cv-desktop-mode .cv-library-dialog:has(.cv-library-presenter-card) { max-height:calc(100dvh - 32px); padding:20px; }
  .cv-library-dialog:has(.cv-library-presenter-card)>header { padding-bottom:16px; margin-bottom:16px; }
  .cv-library-dialog:has(.cv-library-presenter-card) .cv-library-search { margin-bottom:16px; }
  .cv-library-preview.cv-library-presenter-preview { height:136px; padding:8px; }
  .cv-library-presenter-card .cv-library-card-body { padding:14px; }
  .cv-library-presenter-card h3 { font-size:16px; margin:7px 0; }
  .cv-library-presenter-card p { margin-bottom:12px; }
  .cv-library-dialog:has(.cv-library-presenter-card) footer { padding-top:14px; }
}
@media(max-width:600px) { .cv-presenter-save-layout { grid-template-columns:110px minmax(0,1fr); gap:16px; } .cv-library-dialog .cv-library-portrait { height:150px; } }
@media(max-width:1100px) { .cv-library-grid { grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; } .cv-library-toolbar { align-items:flex-start; } .cv-library-tabs { gap:6px; } .cv-library-tabs button { padding:9px 10px; font-size:11px; } }
@media(max-width:700px) { html.cv-desktop-mode .cv-library-dialog,html.cv-desktop-mode .cv-library-dialog:has(.cv-library-form) { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); padding:18px; } .cv-product-editor-layout { grid-template-columns:1fr; gap:20px; } .cv-library-search { flex-wrap:wrap; } .cv-library-search label { flex-basis:100%; } .cv-product-editor-footer { flex-wrap:wrap; } .cv-product-editor-footer .cv-library-primary { flex:1; } }
@media(prefers-reduced-motion:reduce) { .cv-library button,.cv-library-card,.cv-library-form button { transition:none; } }
