.patterns-v24,.pattern-detail-v24{display:grid;gap:16px}.patterns-head,.patterns-toolbar,.pattern-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.patterns-head>div>span,.pattern-detail-header>div>span,.pattern-editor-section-head span,.section-heading span{font-size:9px;font-weight:900;letter-spacing:.14em;color:var(--green-dark)}.patterns-head h1,.pattern-detail-header h1{margin:5px 0 4px;font-size:28px;letter-spacing:-.035em}.patterns-head p,.pattern-detail-header p{margin:0;color:var(--text-soft);font-size:12px;max-width:760px}.patterns-toolbar{padding:12px;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface-1);align-items:center}.patterns-search{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.patterns-search input{width:100%;border:0;background:transparent;color:var(--text);outline:0}.patterns-summary{font-size:10px;color:var(--text-soft);white-space:nowrap}.patterns-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pattern-card{border:1px solid var(--border-soft);border-radius:18px;background:var(--surface-1);overflow:hidden;box-shadow:var(--shadow-soft);transition:.16s}.pattern-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.pattern-cover{height:190px;position:relative;background:var(--surface-2);cursor:pointer}.pattern-cover img{width:100%;height:100%;object-fit:cover}.pattern-cover-placeholder{height:100%;display:grid;place-items:center;font-size:42px;color:var(--green-dark)}.pattern-status,.pattern-step-badge{position:absolute;top:10px;padding:6px 9px;border-radius:999px;background:rgba(17,25,22,.78);color:#fff;font-size:9px;font-weight:850;backdrop-filter:blur(7px)}.pattern-status{left:10px}.pattern-step-badge{right:10px}.pattern-body{padding:15px}.pattern-body small{color:var(--text-soft);font-size:9px}.pattern-body h3{margin:4px 0 7px;font-size:16px}.pattern-body p{margin:0;color:var(--text-soft);font-size:10px;line-height:1.5;min-height:30px}.pattern-linked-product,.pattern-selected-product,.pattern-product-reference{border:1px solid var(--border-soft);background:var(--surface-2);border-radius:13px}.pattern-linked-product{padding:9px 10px;margin:8px 0}.pattern-linked-product b{display:block;font-size:11px;color:var(--text-strong)}.pattern-linked-product small{display:block;margin-top:2px}.pattern-selected-product{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:center;padding:10px;margin-top:8px}.pattern-selected-product img,.pattern-selected-product>span{width:52px;height:52px;border-radius:10px;object-fit:cover;background:var(--surface-3);display:grid;place-items:center}.pattern-selected-product small,.pattern-product-reference small{font-size:8px;font-weight:900;letter-spacing:.1em;color:var(--green-dark)}.pattern-selected-product b{display:block;margin-top:2px}.pattern-selected-product p{margin:2px 0 0;font-size:9px;color:var(--text-soft)}.pattern-product-reference{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;padding:13px}.pattern-product-reference>div:first-child img,.pattern-product-reference>div:first-child span{width:70px;height:70px;border-radius:12px;object-fit:cover;background:var(--surface-3);display:grid;place-items:center}.pattern-product-reference h2{margin:3px 0 2px;font-size:16px}.pattern-product-reference p{margin:0;color:var(--text-soft);font-size:10px}.pattern-card-actions{display:flex;gap:7px;margin-top:13px}.pattern-card-actions .btn{flex:1}.pattern-icon-btn{width:38px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface-2);color:var(--text);cursor:pointer}.pattern-icon-btn.danger{color:#d45d5d}.patterns-empty,.patterns-loading{grid-column:1/-1;padding:34px;text-align:center;border:1px dashed var(--border-strong);border-radius:18px;color:var(--text-soft)}.patterns-empty>div{font-size:28px;color:var(--green-dark)}.patterns-empty b,.patterns-empty span{display:block;margin:5px}.patterns-empty .btn{margin-top:12px}.pattern-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.pattern-meta-grid>div,.pattern-info-columns>section{border:1px solid var(--border-soft);border-radius:15px;background:var(--surface-1);padding:14px}.pattern-meta-grid small{display:block;color:var(--text-soft);font-size:9px}.pattern-meta-grid b{display:block;margin-top:4px}.pattern-hero-media{height:340px;border-radius:18px;overflow:hidden;border:1px solid var(--border-soft);background:var(--surface-2)}.pattern-hero-media img{width:100%;height:100%;object-fit:contain;cursor:zoom-in}.pattern-info-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pattern-info-columns h2{font-size:13px;margin:0 0 8px}.pattern-info-columns ul{margin:0;padding-left:18px}.pattern-info-columns li,.pattern-info-columns p{font-size:10px;color:var(--text-soft);line-height:1.6}.pattern-steps-view{display:grid;gap:12px}.section-heading h2{margin:4px 0 0}.pattern-step-view{display:grid;grid-template-columns:58px 1fr;gap:14px;padding:16px;border:1px solid var(--border-soft);border-radius:17px;background:var(--surface-1)}.step-number{width:46px;height:46px;border-radius:14px;background:var(--green-soft);color:var(--green-dark);display:grid;place-items:center;font-weight:900}.step-content h3{margin:2px 0 7px}.step-content p{margin:0;color:var(--text-soft);font-size:11px;line-height:1.65;white-space:pre-wrap}.step-media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.step-media-grid button{height:120px;border:1px solid var(--border-soft);border-radius:12px;overflow:hidden;padding:0;background:var(--surface-2);position:relative;cursor:pointer}.step-media-grid img,.step-media-grid video{width:100%;height:100%;object-fit:cover}.step-media-grid span{position:absolute;left:7px;bottom:7px;background:rgba(0,0,0,.7);color:#fff;padding:4px 6px;border-radius:999px;font-size:9px}.pattern-editor-v24{display:grid;gap:15px}.pattern-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pattern-cover-upload{width:150px;height:100px;border:1.5px dashed var(--border-strong);border-radius:14px;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.pattern-cover-upload span{font-size:25px;color:var(--green-dark)}.pattern-cover-upload b{font-size:10px}#patternCoverPreview img{margin-top:10px;width:180px;max-height:120px;object-fit:contain;border-radius:12px}.pattern-steps-editor{border-top:1px solid var(--border-soft);padding-top:15px}.pattern-editor-section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.pattern-editor-section-head h3{margin:3px 0}.pattern-editor-section-head p{margin:0;color:var(--text-soft);font-size:10px}.pattern-step-edit{margin-top:12px;padding:14px;border:1px solid var(--border-soft);border-radius:15px;background:var(--surface-2)}.pattern-step-edit-head{display:grid;grid-template-columns:36px 1fr auto;gap:8px;align-items:center}.pattern-step-edit-head>span{width:34px;height:34px;border-radius:10px;background:var(--green-soft);display:grid;place-items:center;color:var(--green-dark);font-weight:900}.pattern-step-edit-head input{width:100%}.pattern-step-edit-head button{width:31px;height:31px;border:1px solid var(--border-soft);background:var(--surface-1);color:var(--text);border-radius:8px}.pattern-step-edit textarea{width:100%;min-height:95px;margin-top:9px}.pattern-step-media-editor{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.pattern-media-thumb,.pattern-add-media{width:92px;height:76px;border-radius:10px;overflow:hidden;position:relative;border:1px solid var(--border-soft);background:var(--surface-1)}.pattern-media-thumb img,.pattern-media-thumb video{width:100%;height:100%;object-fit:cover}.pattern-media-thumb>button{position:absolute;right:4px;top:4px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(0,0,0,.7);color:#fff}.pattern-media-thumb>span{position:absolute;left:4px;bottom:4px;color:#fff}.pattern-add-media{display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;border-style:dashed}.pattern-add-media span{font-size:20px}.pattern-add-media small{font-size:8px}.pattern-no-steps{padding:18px;border:1px dashed var(--border-strong);border-radius:12px;color:var(--text-soft);text-align:center}.pattern-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.93);display:grid;grid-template-columns:70px 1fr 70px;align-items:center}.pl-stage{height:90vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff}.pl-stage img,.pl-stage video{max-width:100%;max-height:82vh;object-fit:contain}.pl-prev,.pl-next,.pl-close{border:0;background:rgba(255,255,255,.12);color:#fff;font-size:36px;cursor:pointer}.pl-prev,.pl-next{width:50px;height:70px;justify-self:center;border-radius:14px}.pl-close{position:absolute;right:18px;top:18px;width:44px;height:44px;border-radius:50%;font-size:24px}.pl-stage div{font-size:11px;opacity:.8}:root[data-theme="dark"] .pattern-card,:root[data-theme="dark"] .patterns-toolbar,:root[data-theme="dark"] .pattern-step-view,:root[data-theme="dark"] .pattern-meta-grid>div,:root[data-theme="dark"] .pattern-info-columns>section,:root[data-theme="dark"] .pattern-linked-product,:root[data-theme="dark"] .pattern-selected-product,:root[data-theme="dark"] .pattern-product-reference{background:#171e1b;color:#edf4f0}:root[data-theme="dark"] .pattern-step-edit{background:#141b18}:root[data-theme="dark"] .pattern-step-edit input,:root[data-theme="dark"] .pattern-step-edit textarea{color:#f4f8f6;background:#101613;border-color:#33443c}@media(max-width:1000px){.patterns-grid{grid-template-columns:1fr 1fr}.step-media-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:680px){.patterns-grid,.pattern-info-columns,.pattern-editor-grid,.pattern-meta-grid{grid-template-columns:1fr}.patterns-head,.patterns-toolbar,.pattern-detail-header,.pattern-editor-section-head{flex-direction:column}.step-media-grid{grid-template-columns:1fr 1fr}.pattern-step-view{grid-template-columns:1fr}.pattern-product-reference{grid-template-columns:54px 1fr}.pattern-product-reference .btn{grid-column:1/-1}.pattern-lightbox{grid-template-columns:50px 1fr 50px}}
