:root{--color-surface-primary:#f7f6f4;--color-surface-dark:#1a1a1a;--color-surface-card:#fff;--color-surface-search:#f0ede7;--color-surface-sidebar:#c8bc9d;--color-surface-callout:#f0ede7;--color-surface-hover:#ede8df;--color-accent-gold:#9e8f6e;--color-accent-gold-light:#b8935a;--color-text-primary:#1a1a1a;--color-text-secondary:#6b6147;--color-text-muted:#9e9484;--color-border-subtle:#e2ddd6;--color-border-dashed:#c8bc9d;--color-tab-active-bg:#6b6147;--color-tab-active-text:#fff;--color-tab-inactive-text:#3d3830;--color-cta-bg:#9e8f6e;--color-cta-text:#fff;--color-cta-hover:#8a7d60;--color-cta-active:#776c54;--color-cta-disabled-bg:#d4cfc8;--color-cta-disabled-text:#9e9484;--color-success:#28a745;--color-error:#dc3545;--color-warning:#ffc107;--font-display:"Geologica","Georgia",serif;--font-sans:"Geologica",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:24px;--shadow-flat:0 1px 3px #0000000d;--shadow-hover:0 4px 12px #00000012;--shadow-elevated:0 10px 25px #0000001f;--focus-ring:2px solid var(--color-accent-gold);--focus-offset:2px}body{background-color:#f7f6f4;color:#1a1a1a;color:var(--color-text-primary);font-family:Geologica,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:focus-visible{outline:2px solid #9e8f6e;outline:var(--focus-ring);outline-offset:2px;outline-offset:var(--focus-offset)}.hourglass-loading{animation:hourglassFlip 1.5s ease-in-out infinite;display:inline-block;font-size:3rem}.hourglass-loading:before{content:"⏳"}@keyframes hourglassFlip{0%{transform:rotate(0deg)}25%{transform:rotate(0deg)}50%{transform:rotate(180deg)}75%{transform:rotate(180deg)}to{transform:rotate(1turn)}}.hourglass-loading-sm{animation:hourglassFlip 1.5s ease-in-out infinite;display:inline-block;font-size:1.5rem}.hourglass-loading-sm:before{content:"⏳"}.hourglass-loading-xs{animation:hourglassFlip 1.5s ease-in-out infinite;display:inline-block;font-size:1rem}.hourglass-loading-xs:before{content:"⏳"}.page-loading{align-items:center;display:flex;flex-direction:column;gap:16px;gap:var(--space-md);justify-content:center;min-height:400px;text-align:center}.page-loading .loading-text{color:#9e9484;color:var(--color-text-muted);font-size:16px;margin-top:8px;margin-top:var(--space-sm)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.08s!important;transform:none!important;transition-duration:.08s!important}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-surface-primary);font-family:var(--font-sans)}.app-container{display:flex;flex-direction:column;min-height:100vh}.app{display:flex;flex:1 1}code{font-family:var(--font-mono)}.app-loading{align-items:center;background-color:var(--color-surface-primary);display:flex;flex:1 1;justify-content:center}.loading-content{text-align:center}.loading-content h1{color:var(--color-text-primary);font-family:var(--font-display);font-size:32px;font-weight:400;letter-spacing:-.5px;margin-bottom:var(--space-md)}.loading-content p{color:var(--color-text-muted);font-size:16px;margin:0}.app-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.main-content{background-color:var(--color-surface-primary);box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;margin:0 auto;max-width:1400px;overflow:auto;width:calc(100% - 64px)}.page-title-section{margin-bottom:24px}.page-title{color:var(--color-text-primary);font-family:var(--font-display);font-weight:400;letter-spacing:-.5px}.page-subtitle{line-height:1.5}.content-header{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-flat);box-sizing:border-box;flex-shrink:0;margin:20px 0;padding:var(--space-lg) 32px;position:-webkit-sticky;position:sticky;top:16px;z-index:100}.search-section{gap:var(--space-lg)}.new-moodboard-btn,.upload-btn{border-radius:var(--radius-pill);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .12s ease}.upload-btn{background-color:var(--color-surface-card);border:1px solid var(--color-border-subtle);color:var(--color-text-secondary)}.upload-btn:hover{background-color:var(--color-tab-active-bg);border-color:var(--color-tab-active-bg);color:var(--color-tab-active-text)}.new-moodboard-btn{background:var(--color-cta-bg);border:none;box-shadow:0 2px 8px #9e8f6e40;color:var(--color-cta-text)}.new-moodboard-btn:hover{background:var(--color-cta-hover);box-shadow:0 4px 12px #9e8f6e59;transform:translateY(-1px)}.content-body{box-sizing:border-box;flex:1 1;min-height:0;padding:var(--space-lg) 0 100px 0}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-lg)}.section-header h2{font-size:24px;font-weight:600}.view-all-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:14px;text-decoration:underline;transition:color .15s}.view-all-btn:hover{color:var(--color-text-primary)}.modal-overlay{animation:fadeIn .2s ease-in-out}.upload-modal{animation:slideIn .3s ease-out;background:var(--color-surface-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevated);max-height:80vh;max-width:600px;overflow:hidden;width:90%}.modal-header{border-bottom:1px solid var(--color-border-subtle);padding:20px var(--space-lg)}.modal-header h3{color:var(--color-text-primary);font-size:20px}.close-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:24px;line-height:1;padding:4px;transition:color .15s}.close-btn:hover{color:var(--color-text-primary)}.modal-body{max-height:60vh;overflow-y:auto;padding:var(--space-lg)}.upload-zone{background-color:var(--color-surface-primary);border:2px dashed var(--color-border-dashed);border-radius:var(--radius-lg);cursor:pointer;padding:40px 20px;text-align:center;transition:all .2s}.upload-zone.drag-over,.upload-zone:hover{background-color:var(--color-surface-hover);border-color:var(--color-cta-bg)}.upload-zone.drag-over{border-style:solid}.upload-icon{margin-bottom:var(--space-md)}.upload-zone p{color:var(--color-text-secondary);margin:8px 0}.upload-zone p:first-of-type{color:var(--color-text-primary);font-size:16px;font-weight:500}.supported-formats{color:var(--color-text-muted);font-size:14px}.file-size-limit{color:var(--color-text-muted);font-size:12px}.uploaded-files{border-top:1px solid var(--color-border-subtle);margin-top:var(--space-lg);padding-top:20px}.uploaded-files h4{color:var(--color-text-primary);font-size:16px;font-weight:500;margin:0 0 var(--space-md) 0}.file-item{background-color:var(--color-surface-primary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);justify-content:space-between;margin-bottom:var(--space-sm);padding:12px var(--space-md)}.file-info,.file-item{align-items:center;display:flex}.file-info{flex:1 1;gap:12px}.file-icon{font-size:20px}.file-details{gap:2px}.file-name{color:var(--color-text-primary);font-size:14px;font-weight:500}.file-size{color:var(--color-text-muted);font-size:12px}.file-status{align-items:center;display:flex;gap:12px}.progress-container{align-items:center;display:flex;gap:8px}.progress-bar{background-color:var(--color-border-subtle);border-radius:3px;height:6px;overflow:hidden;width:80px}.progress-fill{background-color:var(--color-cta-bg);height:100%;transition:width .3s ease}.progress-text{color:var(--color-text-muted);font-size:12px;min-width:35px}.status-completed{color:var(--color-success);font-size:12px;font-weight:500}.status-error{color:var(--color-error);font-size:12px;font-weight:500}.remove-btn{background:none;border:none;cursor:pointer;font-size:16px;opacity:.6;padding:4px;transition:opacity .15s}.remove-btn:hover{opacity:1}.error-container{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.error-message{color:var(--color-error);font-size:11px;font-style:italic;max-width:150px;text-align:right}.retry-btn{background:none;border-radius:4px;font-size:14px;opacity:.7;padding:4px;transition:all .2s}.retry-btn:hover{background-color:var(--color-surface-primary);opacity:1;transform:rotate(180deg)}.empty-state{color:var(--color-text-secondary)}.empty-icon{margin-bottom:var(--space-lg);opacity:.7}.empty-state h3{color:var(--color-text-primary)}.empty-state p{color:var(--color-text-muted)}.upload-btn-large{background-color:var(--color-tab-active-bg);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-size:16px;font-weight:500;margin-top:var(--space-md);padding:16px 32px;transition:background-color .15s}.upload-btn-large:hover{background-color:var(--color-cta-bg)}.designs-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.design-card{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);cursor:pointer;overflow:hidden;transition:all .15s}.design-card:hover{border-color:var(--color-cta-bg);box-shadow:var(--shadow-hover)}.design-preview{background:var(--color-surface-primary);border-bottom:1px solid var(--color-border-subtle);height:240px}.design-thumbnail{height:100%;object-fit:cover;transition:transform .2s ease;width:100%}.design-card:hover .design-thumbnail{transform:scale(1.05)}.file-icon-large{font-size:48px;opacity:.7}.fallback-icon.hidden{display:none}.upload-progress-overlay{background:#000000b3;border-radius:var(--radius-lg) var(--radius-lg) 0 0;bottom:0;left:0;position:absolute;right:0;top:0}.progress-circle,.upload-progress-overlay{align-items:center;display:flex;justify-content:center}.progress-circle{position:relative}.progress-ring{transform:rotate(-90deg)}.progress-ring-circle{stroke-linecap:round;transition:stroke-dashoffset .3s ease}.progress-percentage{color:#fff;font-size:14px;font-weight:600;position:absolute;text-shadow:0 1px 2px #00000080}.design-info{padding:10px}.design-name{color:var(--color-text-primary);font-size:13px;margin:0 0 3px}.design-size{color:var(--color-text-muted);font-size:11px;margin:0 0 4px}.design-status{align-items:center;display:flex;margin-bottom:8px}.status-uploading{color:var(--color-cta-bg);font-size:12px;font-weight:500}.design-actions{border-top:1px solid var(--color-border-subtle);display:flex;gap:6px;margin-top:8px;padding-top:8px}.annotate-btn,.copy-id-btn,.delete-btn,.view-btn{border:1px solid;border-radius:var(--radius-sm);cursor:pointer;font-size:11px;font-weight:500;min-width:55px;padding:5px 10px;text-align:center;text-decoration:none;transition:all .15s ease}.view-btn{background-color:var(--color-cta-bg);border-color:var(--color-cta-bg);flex:1 1}.view-btn:hover{background-color:var(--color-cta-hover);border-color:var(--color-cta-hover)}.copy-id-btn{background-color:#fff;border-color:var(--color-border-subtle);color:var(--color-text-muted);flex:1 1}.copy-id-btn:hover{background-color:var(--color-surface-hover);border-color:var(--color-text-secondary);transform:translateY(-1px)}.annotate-btn{background-color:#fff;border-color:var(--color-accent-gold);color:var(--color-accent-gold);flex:1 1}.annotate-btn:hover{background-color:var(--color-accent-gold);color:#fff;transform:translateY(-1px)}.delete-btn{background-color:#fff;border-color:var(--color-error);color:var(--color-error);flex:1 1}.delete-btn:hover{background-color:var(--color-error);color:#fff;transform:translateY(-1px)}.delete-confirm-modal{animation:slideIn .3s ease-out;border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);max-width:400px;width:90%}.delete-confirm-modal .modal-body{padding:var(--space-lg);text-align:center}.warning-icon{color:var(--color-warning);font-size:48px;margin-bottom:var(--space-md)}.confirm-message{word-wrap:break-word;color:var(--color-text-primary);font-size:16px;font-weight:500;margin:0 0 12px}.warning-text{color:var(--color-text-muted);font-size:14px;line-height:1.4;margin:0 0 var(--space-lg) 0}.cancel-btn,.confirm-delete-btn{border:1px solid;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;min-width:100px;padding:10px 20px;transition:all .15s}.cancel-btn{background-color:#fff;border-color:var(--color-border-subtle);color:var(--color-text-muted)}.cancel-btn:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-text-secondary)}.confirm-delete-btn{background-color:var(--color-error);border-color:var(--color-error)}.confirm-delete-btn:hover:not(:disabled){background-color:#c82333;border-color:#bd2130}.cancel-btn:disabled,.confirm-delete-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.upload-modal{margin:20px;width:95%}.modal-body{padding:var(--space-md)}.upload-zone{padding:30px 15px}.file-item{align-items:flex-start;flex-direction:column;gap:8px}.file-status{justify-content:space-between;width:100%}.designs-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.content-header{padding:20px 20px 16px}.content-body{padding:var(--space-md) 20px}.search-section{flex-direction:column;gap:var(--space-md)}.header-buttons{justify-content:center;width:100%}}.search-bar{align-items:center;border:none;border-radius:10px;display:flex;height:42px;max-width:600px;min-width:480px;padding:10px 16px 10px 40px;position:relative;transition:all .15s ease;width:100%}.search-bar,.search-bar:focus-within{background-color:var(--color-surface-search)}.search-bar:focus-within{box-shadow:none;outline:1.5px solid var(--color-cta-bg)}.search-icon{color:var(--color-text-muted);flex-shrink:0;font-size:16px;left:12px;pointer-events:none;position:absolute}.search-input{background:#0000;border:none;color:var(--color-text-primary);flex:1 1;font-size:14px;font-weight:400;min-width:0;outline:none}.search-input::placeholder{color:var(--color-text-muted);font-size:14px;font-weight:400}@media (max-width:768px){.search-bar{max-width:none;min-width:auto;width:100%}}@media (max-width:480px){.search-bar{padding:10px 14px 10px 36px}.search-input{font-size:16px}}.top-nav-bar{background-color:var(--color-surface-dark);color:#fff;flex-shrink:0;z-index:200}.top-nav-inner{height:90px;justify-content:space-between;padding:0 32px}.top-nav-inner,.top-nav-left{align-items:center;display:flex}.top-nav-left{gap:12px}.top-nav-logo{align-items:center;display:flex}.top-nav-logo-icon{align-items:center;background:linear-gradient(135deg,var(--color-accent-gold) 0,var(--color-accent-gold-light) 100%);border-radius:var(--radius-md);box-shadow:0 2px 6px #9e8f6e4d;color:#fff;display:inline-flex;font-size:14px;font-weight:700;height:36px;justify-content:center;letter-spacing:.5px;width:36px}.top-nav-identity{display:flex;flex-direction:column;gap:1px}.top-nav-title-row{align-items:center;display:flex;gap:8px}.top-nav-app-title{color:#fff;font-family:var(--font-display);font-size:17px;font-weight:400;letter-spacing:.5px}.top-nav-subtitle{color:#ffffff73;font-size:11px;font-weight:400;letter-spacing:.2px}.top-nav-center{flex:1 1}.top-nav-right{align-items:center;display:flex;gap:14px}.top-nav-brand-stat{align-items:center;background:#ffffff14;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:1px;padding:4px 12px}.top-nav-brand-number{color:#fff;font-size:18px;font-weight:600;line-height:1}.top-nav-brand-label{color:#ffffff80;font-size:8px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.top-nav-user-menu{position:relative}.top-nav-avatar{align-items:center;background:linear-gradient(135deg,var(--color-accent-gold) 0,var(--color-accent-gold-light) 100%);border:2px solid #ffffff26;border-radius:50%;box-shadow:0 2px 6px #9e8f6e40;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:34px;justify-content:center;transition:all .15s ease;width:34px}.top-nav-avatar:hover{box-shadow:0 3px 10px #9e8f6e66;transform:scale(1.08)}.top-nav-dropdown{animation:navDropdownIn .15s ease-out;background:#fff;background:var(--color-surface-card,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-border-subtle,#e5e7eb);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 8px 24px #00000026;min-width:260px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:500}@keyframes navDropdownIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dropdown-user-info{align-items:center;display:flex;gap:12px;padding:16px}.dropdown-avatar{align-items:center;background:linear-gradient(135deg,var(--color-accent-gold) 0,var(--color-accent-gold-light) 100%);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:600;height:40px;justify-content:center;width:40px}.dropdown-user-details{display:flex;flex-direction:column;gap:2px;min-width:0}.dropdown-display-name{color:#333;color:var(--color-text-primary,#333);font-size:14px;font-weight:600}.dropdown-email{color:#999;color:var(--color-text-muted,#999);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-divider{background-color:#e5e7eb;background-color:var(--color-border-subtle,#e5e7eb);height:1px}.dropdown-item{align-items:center;background:none;border:none;color:#666;color:var(--color-text-secondary,#666);cursor:default;display:flex;font-size:13px;gap:10px;padding:12px 16px;text-align:left;transition:background-color .1s;width:100%}.dropdown-item:hover{background-color:#f5f5f0;background-color:var(--color-surface-hover,#f5f5f0)}.dropdown-item-icon{flex-shrink:0;font-size:16px;text-align:center;width:20px}.dropdown-item-label{font-weight:500}.dropdown-role .dropdown-item-label{background-color:#e8e2d4;background-color:var(--color-surface-sidebar,#e8e2d4);border-radius:50px;border-radius:var(--radius-pill,50px);color:#666;color:var(--color-text-secondary,#666);font-size:10px;font-weight:700;letter-spacing:.8px;padding:4px 12px;text-transform:uppercase}.dropdown-language{padding:8px 16px}.dropdown-logout{color:#c0392b;cursor:pointer}.dropdown-logout:hover{background-color:#fef2f2}.dropdown-logout .dropdown-item-label{color:#c0392b}.language-selector-inline{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.lang-flag-btn{align-items:center;background:none;border:2px solid #0000;border-radius:6px;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.lang-flag-btn:hover{background-color:#0000000a;transform:scale(1.12)}.lang-flag-btn.active{background-color:#a3987c14;border-color:#a3987c;border-color:var(--color-accent-gold,#a3987c)}.flag-emoji{font-size:20px;line-height:1}.brand-header-strip{background:linear-gradient(90deg,#fff,#e5e7eb,#fff);background:linear-gradient(to right,var(--color-surface-card,#fff),var(--color-border-subtle,#e5e7eb),var(--color-surface-card,#fff));flex-shrink:0;height:4px}.tab-navigation{background-color:var(--color-surface-card);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;position:relative;z-index:200}.tab-navigation-inner{padding:0 20px}.tab-list{display:flex;flex-wrap:nowrap;gap:0;justify-content:space-between}.tab-item{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:var(--color-text-muted);cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:13px;font-weight:400;gap:5px;justify-content:center;padding:13px 8px;position:relative;transition:all .15s ease;white-space:nowrap}.tab-item:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.tab-item.tab-active{background-color:var(--color-surface-search);border-bottom-color:var(--color-accent-gold);border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--color-text-primary);font-weight:500}.tab-icon{font-size:15px}.tab-icon,.tab-label{line-height:1}.tab-dropdown-wrapper{flex:1 1;position:relative}.tab-dropdown-trigger{gap:4px;width:100%}.tab-dropdown-chevron{font-size:8px;margin-left:2px;opacity:.6}.tab-dropdown-menu{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:none;box-shadow:0 4px 12px #0000001a;left:50%;min-width:160px;overflow:hidden;position:absolute;top:100%;transform:translateX(-50%);z-index:100}.tab-dropdown-item{align-items:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;font-family:inherit;font-size:13px;gap:8px;padding:11px 16px;text-align:left;transition:all .15s ease;white-space:nowrap;width:100%}.tab-dropdown-item:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.tab-dropdown-item-active{background:var(--color-surface-search);color:var(--color-text-primary);font-weight:500}@media (max-width:1024px){.tab-navigation-inner{padding:0 var(--space-md)}.tab-item{font-size:13px;padding:12px 14px}}@media (max-width:768px){.tab-item{font-size:12px;gap:4px;padding:10px 12px}.tab-icon{font-size:14px}}.mbe-root{background:#f0ede8;display:flex;flex-direction:column;font-family:Geologica,Helvetica Neue,sans-serif;height:100vh;overflow:hidden}.mbe-topbar{background:#fff;border-bottom:1px solid #e0d9d0;flex-shrink:0;gap:16px;height:60px;justify-content:space-between;padding:0 20px;z-index:10}.mbe-topbar,.mbe-topbar__left{align-items:center;display:flex}.mbe-topbar__left{flex:1 1;gap:12px;min-width:0}.mbe-topbar__centre{align-items:center;display:flex;flex-shrink:0;gap:20px}.mbe-topbar-user{color:#5d4e37;font-size:13px;font-weight:500;padding:0 4px;white-space:nowrap}.mbe-topbar__right{align-items:center;display:flex;flex:1 1;gap:8px;justify-content:flex-end}.mbe-back-btn{background:none;border:none;border-radius:6px;color:#8b7a5c;cursor:pointer;font-size:14px;padding:6px 10px;transition:background .15s;white-space:nowrap}.mbe-back-btn:hover{background:#f5f0e8}.mbe-title-input{background:#0000;border:none;border-radius:6px;color:#2c2c2c;flex:1 1;font-size:16px;font-weight:600;min-width:0;outline:none;padding:4px 8px;transition:background .15s}.mbe-title-input:focus,.mbe-title-input:hover{background:#f5f0e8}.mbe-control-group{align-items:center;display:flex;gap:8px}.mbe-control-group>label{color:#999;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.mbe-toggle-group{background:#f0ede8;border-radius:8px;display:flex;gap:2px;padding:3px}.mbe-toggle{background:none;border:none;border-radius:6px;color:#666;cursor:pointer;font-size:13px;font-weight:500;padding:5px 12px;transition:all .15s;white-space:nowrap}.mbe-toggle.active{background:#fff;box-shadow:0 1px 3px #0000001f;color:#2c2c2c}.mbe-toggle:hover:not(.active){color:#2c2c2c}.mbe-btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .15s;white-space:nowrap}.mbe-btn--ghost{background:#0000;border:1.5px solid #d4c5a0;color:#5d4e37}.mbe-btn--ghost:hover{background:#f5f0e8}.mbe-btn--primary{background:linear-gradient(135deg,#a3987c,#8b7a5c);box-shadow:0 2px 8px #a3987c4d;color:#fff}.mbe-btn--primary:hover{background:linear-gradient(135deg,#8b7a5c,#6d5f42)}.mbe-btn--saved{background:linear-gradient(135deg,#5a9e6f,#3d7a54)!important;box-shadow:0 2px 8px #5a9e6f4d!important}.mbe-btn--error{background:linear-gradient(135deg,#c0392b,#922b21)!important;box-shadow:0 2px 8px #c0392b4d!important}.mbe-btn--sm{font-size:11px;height:auto;padding:3px 8px}.mbe-body{flex:1 1}.mbe-body,.mbe-left-panel{display:flex;overflow:hidden}.mbe-left-panel{background:#fff;border-right:1px solid #e0d9d0;flex-direction:column;flex-shrink:0;width:260px}.mbe-panel-tabs{border-bottom:1px solid #e0d9d0;display:flex;flex-shrink:0}.mbe-panel-tab{background:none;border:none;border-bottom:2px solid #0000;color:#999;cursor:pointer;flex:1 1;font-size:11px;font-weight:600;letter-spacing:.04em;padding:10px 2px;text-transform:uppercase;transition:all .15s}.mbe-panel-tab.active{border-bottom-color:#a3987c;color:#2c2c2c}.mbe-panel-content{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:16px}.mbe-panel-hint{color:#999;font-size:12px;line-height:1.4;margin:0}.mbe-empty-hint{color:#bbb;font-size:12px;margin:24px 0;text-align:center}.mbe-panel-divider{border:none;border-top:1px solid #e0d9d0;margin:4px 0}.mbe-image-library{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.mbe-library-thumb{aspect-ratio:1;background:#f0ede8;border:2px solid #0000;border-radius:8px;cursor:pointer;overflow:hidden;padding:0;transition:border-color .15s,transform .15s}.mbe-library-thumb:hover{border-color:#a3987c;transform:scale(1.03)}.mbe-library-thumb img{display:block;height:100%;object-fit:cover;width:100%}.mbe-add-text-btn{background:#0000;border:1.5px dashed #d4c5a0;border-radius:8px;color:#8b7a5c;cursor:pointer;font-size:13px;font-weight:600;padding:10px;transition:all .15s;width:100%}.mbe-add-text-btn:hover{background:#f5f0e8;border-color:#a3987c}.mbe-text-controls{gap:12px;padding-top:4px}.mbe-field,.mbe-text-controls{display:flex;flex-direction:column}.mbe-field{gap:5px}.mbe-field label{color:#999;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.mbe-field input[type=text],.mbe-field select{background:#fafaf8;border:1px solid #e0d9d0;border-radius:6px;color:#2c2c2c;font-size:13px;outline:none;padding:8px 10px;transition:border-color .15s}.mbe-field input[type=text]:focus,.mbe-field select:focus{border-color:#a3987c}.mbe-field input[type=range]{accent-color:#a3987c;width:100%}.mbe-field input[type=color]{background:#fafaf8;border:1px solid #e0d9d0;border-radius:6px;cursor:pointer;height:36px;padding:2px 4px;width:100%}.mbe-delete-btn{background:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;cursor:pointer;font-size:12px;font-weight:600;padding:8px 12px;transition:background .15s}.mbe-delete-btn:hover{background:#fdd}.mbe-palette-section{margin-bottom:8px}.mbe-bg-row{align-items:center;display:flex;gap:8px;margin-top:6px}.mbe-bg-picker{background:none;border:1px solid #ddd;border-radius:4px;cursor:pointer;height:28px;padding:2px;width:36px}.mbe-palette-divider{border:none;border-top:1px solid #e0d9d0;margin:8px 0}.mbe-palette-builder{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}.mbe-palette-builder-cell{align-items:center;display:flex;flex-direction:column;gap:4px}.mbe-palette-preview-shape{border:1px solid #0000001a;height:32px;width:32px}.mbe-palette-preview-shape--circles{border-radius:50%}.mbe-palette-preview-shape--squares{border-radius:2px}.mbe-palette-preview-shape--diamonds{border-radius:2px;height:22px;margin:5px auto;transform:rotate(45deg);width:22px}.mbe-palette-color-input{background:none;border:1px solid #e0d9d0;border-radius:3px;cursor:pointer;height:20px;padding:1px 2px;width:32px}.mbe-swatches{display:flex;flex-direction:column;gap:8px}.mbe-swatch-row{align-items:center;display:flex;gap:8px}.mbe-swatch{border:2px solid #0000001a;border-radius:50%;cursor:pointer;flex-shrink:0;height:36px;transition:transform .15s,box-shadow .15s;width:36px}.mbe-swatch:hover{box-shadow:0 2px 8px #0003;transform:scale(1.1)}.mbe-swatch-hex{color:#666;font-family:Courier New,monospace;font-size:12px}.mbe-swatch-editor{align-items:center;display:flex;flex:1 1;gap:6px}.mbe-swatch-editor input{background:#fafaf8;border:1px solid #e0d9d0;border-radius:6px;color:#2c2c2c;flex:1 1;font-family:Courier New,monospace;font-size:12px;outline:none;padding:5px 8px}.mbe-swatch-editor input:focus{border-color:#a3987c}.mbe-eyedropper-btn{background:none;border:1px solid #e0d9d0;border-radius:6px;cursor:pointer;font-size:14px;padding:4px 6px;transition:background .15s}.mbe-eyedropper-btn:hover{background:#f5f0e8}.mbe-add-swatch-btn{background:none;border:1px solid #c5b99a;border-radius:4px;color:#8b7a5c;cursor:pointer;font-size:10px;margin-left:auto;padding:2px 6px;transition:background .15s;white-space:nowrap}.mbe-add-swatch-btn:hover{background:#f5f0e8}.mbe-palette-templates{display:flex;flex-direction:column;gap:6px}.mbe-template-row{align-items:center;background:#fafaf8;border:1px solid #e0d9d0;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:8px 10px;transition:background .15s,border-color .15s}.mbe-template-row:hover{background:#f5f0e8;border-color:#a3987c}.mbe-template-name{color:#5d4e37;font-size:12px;font-weight:500}.mbe-template-preview{display:flex;gap:3px}.mbe-template-dot{border:1px solid #00000014;border-radius:50%;display:inline-block;height:14px;width:14px}.mbe-layers-list{display:flex;flex-direction:column;gap:4px}.mbe-layer-row{align-items:center;background:#fafaf8;border:1px solid #e0d9d0;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:8px 10px;transition:background .15s,border-color .15s;-webkit-user-select:none;user-select:none}.mbe-layer-row:hover{background:#f5f0e8;border-color:#c5b99a}.mbe-layer-row.active{background:#f0ede8;border-color:#a3987c;box-shadow:0 0 0 2px #a3987c33}.mbe-layer-icon{align-items:center;color:#8b7a5c;display:flex;flex-shrink:0;font-size:14px;height:28px;justify-content:center;text-align:center;width:28px}.mbe-layer-label{color:#2c2c2c;flex:1 1;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mbe-layer-actions{display:flex;flex-shrink:0;gap:2px}.mbe-layer-btn{align-items:center;background:none;border:1px solid #e0d9d0;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;padding:0;transition:background .12s;width:24px}.mbe-layer-btn:hover:not(:disabled){background:#f0ede8;color:#2c2c2c}.mbe-layer-btn:disabled{cursor:default;opacity:.3}.mbe-layer-btn--danger:hover:not(:disabled){background:#fee;border-color:#fcc;color:#c33}.mbe-canvas-area{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:12px;overflow:hidden;padding:24px}.mbe-canvas-scroll{align-items:flex-start;display:flex;flex:1 1;justify-content:center;overflow:auto;width:100%}.mbe-canvas-wrapper{border-radius:2px;box-shadow:0 8px 40px #0000002e;flex-shrink:0;overflow:hidden}.mbe-canvas-label{color:#aaa;flex-shrink:0;font-size:11px}.mbe-image-controls-top{background:#fafaf8;border:1px solid #e0d9d0;border-radius:10px;margin-bottom:12px;padding:12px}.mbe-image-action-row{display:flex;gap:8px;margin-top:4px}.mbe-btn--danger{background:#fff0f0;border-color:#f5c6c6;color:#c0392b}.mbe-btn--danger:hover{background:#ffe0e0;border-color:#e57373}.mbe-font-cats{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.mbe-font-cat-btn{background:#fafaf8;border:1px solid #e0d9d0;border-radius:12px;color:#5d4e37;cursor:pointer;font-size:11px;font-weight:500;padding:3px 8px;transition:background .15s,border-color .15s}.mbe-font-cat-btn:hover{background:#f5f0e8;border-color:#a3987c}.mbe-font-cat-btn.active{background:#5d4e37;border-color:#5d4e37;color:#fff}.mbe-font-list{background:#fafaf8;border:1px solid #e0d9d0;border-radius:8px;display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto;padding:4px}.mbe-font-item{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:7px 10px;text-align:left;transition:background .12s,border-color .12s;width:100%}.mbe-font-item:hover{background:#f5f0e8;border-color:#d4c5a0}.mbe-font-item.active{background:#f0ede8;border-color:#a3987c}.mbe-font-item__name{color:#5d4e37;flex:1 1;font-family:Geologica,Helvetica Neue,sans-serif;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mbe-font-item__preview{color:#2c2c2c;flex-shrink:0;font-size:18px;line-height:1.2;margin-left:8px}.mbe-crop-modal{max-height:90vh;max-width:80vw}.mbe-crop-body{align-items:center;background:#1a1a1a;display:flex;justify-content:center;min-height:300px;overflow:auto;padding:0}.mbe-crop-img{-webkit-user-drag:none;display:block;max-height:65vh;max-width:70vw;object-fit:contain}.mbe-crop-img,.mbe-layer-drag{-webkit-user-select:none;user-select:none}.mbe-layer-drag{color:#c5b99a;cursor:grab;flex-shrink:0;font-size:16px;line-height:1;padding:0 2px}.mbe-layer-drag:active{cursor:grabbing}.mbe-preview-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.mbe-preview-modal{background:#fff;border-radius:12px;box-shadow:0 24px 80px #0000004d;display:flex;flex-direction:column;max-height:92vh;max-width:90vw;overflow:hidden}.mbe-preview-header{align-items:center;border-bottom:1px solid #e0d9d0;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.mbe-preview-title{color:#2c2c2c;font-size:15px;font-weight:600}.mbe-preview-close{background:none;border:none;border-radius:6px;color:#999;cursor:pointer;font-size:18px;padding:4px 8px;transition:background .15s}.mbe-preview-close:hover{background:#f5f0e8;color:#2c2c2c}.mbe-preview-body{align-items:center;background:#f0ede8;display:flex;flex:1 1;justify-content:center;overflow:auto;padding:24px}.mbe-preview-img{border-radius:2px;box-shadow:0 8px 32px #0000002e}.mbe-preview-footer{align-items:center;border-top:1px solid #e0d9d0;display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;padding:14px 20px}.mbe-font-preview{background:#f9f6f1;border:1px solid #e0d9d0;border-radius:4px;line-height:1.3;margin-top:10px;min-height:36px;padding:10px 12px;transition:font-family .1s;word-break:break-word}.mbe-brand-row{align-items:center;display:flex;gap:6px}.mbe-brand-logo{flex-shrink:0;height:20px;max-width:60px;object-fit:contain}.mbe-dropzone{align-items:center;background:#fafaf8;border:2px dashed #d4c5a0;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:4px;justify-content:center;margin-bottom:12px;padding:16px 12px;transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.mbe-dropzone:hover:not(.mbe-dropzone--uploading){background:#f5f0e8;border-color:#a3987c}.mbe-dropzone--over{background:#f0ede8;border-color:#8b7a5c;border-style:solid}.mbe-dropzone--uploading{cursor:default;opacity:.7}.mbe-dropzone__icon{font-size:22px;line-height:1}.mbe-dropzone__label{color:#5d4e37;font-size:13px;font-weight:600}.mbe-dropzone__hint{color:#aaa;font-size:11px}.modal-overlay{background-color:#00000080}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;padding:32px;position:relative;width:100%}.modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:32px;line-height:1;padding:4px 8px;position:absolute;right:16px;top:16px;transition:color .2s}.modal-close:hover{color:#333}.modal-content h2{color:#333;font-size:24px;font-weight:500;margin:0 0 24px}.progress-steps{display:flex;justify-content:space-between;margin-bottom:32px;padding:0 20px}.step{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px;position:relative}.step:not(:last-child):after{background:#e0e0e0;content:"";height:2px;left:60%;position:absolute;right:-40%;top:16px;z-index:-1}.step.completed:not(:last-child):after{background:#a3987c}.step-number{align-items:center;background:#e0e0e0;border-radius:50%;color:#666;display:flex;font-size:14px;font-weight:500;height:32px;justify-content:center;transition:all .2s ease;width:32px}.step.active .step-number{box-shadow:0 2px 8px #a3987c4d}.step.active .step-number,.step.completed .step-number{background:linear-gradient(135deg,#a3987c,#8b7a5c);color:#fff}.step-label{color:#666;font-size:12px;font-weight:500}.step.active .step-label{color:#333}.step-content{display:flex;flex-direction:column;gap:16px}.step-content label{color:#333;font-size:14px;font-weight:500}.step-content input[type=text]{border:1px solid #ddd;border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .2s}.step-content input[type=text]:focus{border-color:#333;outline:none}.helper-text{color:#666;font-size:13px;font-style:italic;margin-top:-8px}.error-message{background:#fee;border-left:3px solid #c33;box-sizing:border-box;color:#c33;font-size:14px;margin:0 -32px 24px;padding:12px 16px;width:calc(100% + 64px)}.button-group{display:flex;gap:12px;margin-top:24px}.btn-primary,.btn-secondary{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px 24px;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#a3987c,#8b7a5c);box-shadow:0 4px 12px #a3987c40;color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#8b7a5c,#6d5f42);box-shadow:0 6px 16px #a3987c59;transform:translateY(-1px)}.btn-primary:disabled{background:#ccc;box-shadow:none;cursor:not-allowed}.btn-secondary{background:#fff;border:2px solid #d4c5a0;color:#5d4e37}.btn-secondary:hover{background:linear-gradient(135deg,#f8f6f0,#ebe7dc);border-color:#a3987c}.drop-zone{background:#fafafa;border:2px dashed #ddd;border-radius:12px;cursor:pointer;padding:40px 20px;text-align:center;transition:border-color .2s,background .2s,transform .15s;-webkit-user-select:none;user-select:none}.drop-zone:focus,.drop-zone:hover{border-color:#333;outline:none}.drop-zone--dragging{background:#a3987c0f;border-color:#a3987c;transform:scale(1.01)}.drop-zone--compact{padding:16px 20px}.drop-zone p{color:#333;font-size:16px;font-weight:500;margin:6px 0 0}.drop-zone small{color:#666;display:block;font-size:14px;margin-top:6px}.upload-icon{font-size:48px}.drop-zone--compact .upload-icon{font-size:28px}.browse-link{cursor:pointer;text-decoration:underline;text-underline-offset:2px}.preview-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.preview-thumb{aspect-ratio:1;background:#f0f0f0;border-radius:8px;overflow:hidden;position:relative}.preview-thumb img{display:block;height:100%;object-fit:cover;width:100%}.preview-thumb__remove{align-items:center;background:#0000008c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:13px;height:20px;justify-content:center;line-height:1;opacity:0;position:absolute;right:4px;top:4px;transition:opacity .15s;width:20px}.preview-thumb:hover .preview-thumb__remove{opacity:1}@media (max-width:768px){.modal-content{padding:24px}.progress-steps{padding:0}.step-label{font-size:10px}.step-number{font-size:12px;height:28px;width:28px}}.moodboard-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));padding:0}.moodboard-card{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-flat);cursor:pointer;overflow:hidden;transition:transform .15s,box-shadow .15s}.moodboard-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.card-preview{height:200px;overflow:hidden;position:relative}.color-preview{display:flex;height:100%}.color-swatch{flex:1 1;min-width:0}.mixed-preview{display:flex;flex-direction:column;height:100%}.preview-section{align-items:center;background:#f8f9fa;display:flex;flex:1 1;justify-content:center;position:relative}.preview-image{color:#666;text-align:center}.placeholder-content{align-items:center;display:flex;flex-direction:column;gap:8px}.placeholder-content span{font-size:32px;opacity:.7}.placeholder-content p{color:#999;font-size:14px;font-style:italic}.preview-colors{display:flex;height:40px}.small-color-swatch{flex:1 1;min-width:0}.default-preview{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);height:100%}.card-info{padding:20px}.card-title{color:var(--color-text-primary);font-size:18px;font-weight:500;line-height:1.3;margin-bottom:8px}.card-meta{justify-content:space-between}.card-type{color:var(--color-text-secondary)}.card-count,.card-type{font-size:14px;font-weight:400}.card-count{color:var(--color-text-muted)}.moodboard-empty-state{align-items:center;color:#666;display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;padding:80px 20px;text-align:center}.moodboard-empty-state .empty-icon{font-size:64px;margin-bottom:24px;opacity:.7}.moodboard-empty-state h3{color:#333;font-size:24px;font-weight:500;margin:0 0 12px}.moodboard-empty-state p{color:#666;font-size:16px;margin:0 0 32px}.create-moodboard-btn-large{background:linear-gradient(135deg,#a3987c,#8b7a5c);border:none;border-radius:12px;box-shadow:0 4px 12px #a3987c40;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:16px 32px;transition:all .3s ease}.create-moodboard-btn-large:hover{background:linear-gradient(135deg,#8b7a5c,#6d5f42);box-shadow:0 6px 16px #a3987c59;transform:translateY(-2px)}.moodboard-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-spinner{border-top:4px solid var(--color-border-subtle);border:4px solid var(--color-border-subtle);border-top-color:var(--color-cta-bg);height:50px;margin-bottom:20px;width:50px}.moodboard-error{color:#d32f2f;padding:60px 20px;text-align:center}.moodboard-error button{background:linear-gradient(135deg,#a3987c,#8b7a5c);border:none;border-radius:10px;box-shadow:0 2px 8px #a3987c40;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:20px;padding:12px 28px;transition:all .2s ease}.moodboard-error button:hover{background:linear-gradient(135deg,#8b7a5c,#6d5f42);box-shadow:0 4px 12px #a3987c59;transform:translateY(-1px)}.processing-preview{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;height:100%;justify-content:center}.processing-content{padding:20px;text-align:center}.progress-ring{height:80px;margin:0 auto 16px;position:relative;width:80px}.progress-text{color:#a3987c;font-size:18px;font-weight:600;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.progress-message{color:#666;font-size:14px;margin:0}.failed-preview{align-items:center;background:#ffebee;color:#d32f2f;display:flex;flex-direction:column;height:100%;justify-content:center}.failed-icon{font-size:40px;margin-bottom:8px}.moodboard-thumbnail{height:100%;object-fit:cover;width:100%}.color-palette-mini{display:flex;gap:6px;margin:12px 0}.color-dot{border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0003;height:24px;width:24px}.card-actions{display:flex;gap:8px;margin-top:12px}.card-actions button{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:10px 14px;transition:all .2s ease}.btn-view{background:linear-gradient(135deg,#a3987c,#8b7a5c);box-shadow:0 2px 8px #a3987c40;color:#fff}.btn-view:hover{background:linear-gradient(135deg,#8b7a5c,#6d5f42);box-shadow:0 4px 12px #a3987c59;transform:translateY(-1px)}.btn-download{background:linear-gradient(135deg,#faf8f5,#f5f2ed);border:2px solid #a3987c;box-shadow:0 2px 6px #a3987c26;color:#5d4e37}.btn-download:hover{background:linear-gradient(135deg,#f8f6f0,#ebe7dc);border-color:#8b7a5c;box-shadow:0 4px 10px #a3987c40;transform:translateY(-1px)}.btn-delete{background:linear-gradient(135deg,#fff8f8,#fff0f0);border:2px solid #dc3545;box-shadow:0 2px 6px #dc35451f;color:#dc3545;flex:0.5 1}.btn-delete:hover{background:linear-gradient(135deg,#fff5f5,#ffe8ea);border-color:#c82333;box-shadow:0 4px 10px #dc354533;transform:translateY(-1px)}.card-date{color:#999;font-size:13px}@media (max-width:768px){.moodboard-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card-preview{height:160px}.card-info{padding:16px}.card-title{font-size:16px}.moodboard-empty-state{padding:60px 20px}.moodboard-empty-state .empty-icon{font-size:48px;margin-bottom:16px}.moodboard-empty-state h3{font-size:20px}.moodboard-empty-state p{font-size:14px}}.mgrid-filters{display:flex;flex-wrap:wrap;gap:10px;padding:12px 0 16px}.mgrid-filter-select{background:#fff;border:1px solid #e0d9d0;border-radius:8px;color:#2c2c2c;cursor:pointer;font-size:13px;outline:none;padding:7px 12px;transition:border-color .15s}.mgrid-filter-select:focus{border-color:#a3987c}.card-brand{align-items:center;display:flex;gap:6px;margin:4px 0 6px}.card-brand-logo{height:16px;max-width:48px;object-fit:contain}.card-brand-label{color:#8b7a5c;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.card-meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.card-date,.card-user{color:#666;font-size:12px}.card-updated{color:#a3987c}.card-count{color:#999;font-size:12px}.mbe-layer-thumb{border:1px solid #e0d9d0;border-radius:4px;display:block;flex-shrink:0;height:28px;object-fit:cover;width:28px}.ai-trends-page{background-color:var(--color-surface-primary);display:flex;flex:1 1;flex-direction:column;height:100vh;overflow:hidden}.ai-trends-page>.content-body{flex:1 1;min-height:0;overflow-y:auto}.ai-trends-loading{align-items:center;display:flex;flex-direction:column;height:400px;justify-content:center;text-align:center}.loading-spinner{animation:pulse 2s infinite;font-size:3rem;margin-bottom:1rem}.search-section{align-items:center;display:flex;gap:16px;justify-content:space-between}.header-buttons{display:flex;gap:12px}.refresh-btn{background:#fff;background-color:var(--color-tab-active-bg);border-radius:var(--radius-md);color:#fff;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:background-color .15s}.refresh-btn:hover{background:var(--color-cta-bg)}.section-header{margin-bottom:24px}.section-header h2{color:var(--color-text-primary);font-size:28px;font-weight:700;margin:0 0 8px}.section-subtitle{color:var(--color-text-muted);font-size:16px;margin:0}.trend-filters{align-items:center;background:#0000;border:none;border-radius:0;box-shadow:none;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding:0}.trend-filters .floating-add-btn{margin-left:auto}.filter-btn{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);color:var(--color-tab-inactive-text);font-size:14px;font-weight:500;gap:8px;min-height:44px;padding:10px 20px;transition:all .12s ease}.filter-btn:hover{background:var(--color-surface-search);border-color:var(--color-border-subtle);color:var(--color-text-primary)}.filter-btn.active{background:var(--color-tab-active-bg);border-color:var(--color-tab-active-bg);color:var(--color-tab-active-text)}.filter-icon{font-size:16px}.custom-category-wrapper{display:inline-block;position:relative}.custom-category{background:#f8fafc;border-color:#e5e7eb;color:#6b7280}.custom-category:hover{background:#f0f9ff;border-color:#6c634b;color:#3b82f6}.remove-category-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;opacity:0;position:absolute;right:-6px;top:-6px;transform:scale(.8);transition:all .2s;visibility:hidden;width:20px}.custom-category-wrapper:hover .remove-category-btn{opacity:1;transform:scale(1);visibility:visible}.remove-category-btn:hover{background:#dc2626}.add-category-btn{align-items:center;background:#0000;border:1px dashed var(--color-border-dashed);border-radius:var(--radius-pill);color:var(--color-text-muted);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;min-height:44px;padding:10px 20px;transition:all .12s ease}.add-category-btn:hover{background:var(--color-surface-search);border-color:var(--color-cta-bg);color:var(--color-text-secondary)}.add-category-form{align-items:center;background:#fff;border:1px solid #dcd1b3;border-radius:8px;display:flex;gap:8px;padding:8px}.category-input{background:#0000;border:none;color:#374151;font-size:14px;min-width:120px;outline:none}.category-input::placeholder{color:#9ca3af}.cancel-category-btn,.save-category-btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:12px;font-weight:700;height:24px;justify-content:center;transition:background-color .2s;width:24px}.save-category-btn{background:#10b981;color:#fff}.save-category-btn:hover{background:#059669}.cancel-category-btn{background:#ef4444;color:#fff}.cancel-category-btn:hover{background:#dc2626}.trends-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.stat-card{align-items:center;background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;justify-content:center;min-height:120px;padding:28px 24px;text-align:center;transition:box-shadow .15s ease}.stat-card:hover{box-shadow:0 2px 8px #0000000f}.stat-number{color:var(--color-text-primary);font-size:44px;font-weight:600;line-height:1;margin-bottom:8px}.stat-label{color:var(--color-text-muted);font-size:13px;font-weight:400}.trends-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.trend-card{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);overflow:hidden;transition:transform .15s,box-shadow .15s}.trend-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.trend-header{align-items:center;display:flex;justify-content:space-between;padding:20px 20px 0;position:relative}.delete-trend-btn{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;opacity:0;position:absolute;right:12px;top:12px;transform:scale(.8);transition:all .2s ease;visibility:hidden;width:32px;z-index:2}.trend-card:hover .delete-trend-btn{opacity:1;transform:scale(1);visibility:visible}.delete-trend-btn:hover{background:#d54e4e;transform:scale(1.1)}.trend-category{align-items:center;display:flex;gap:8px}.category-icon{font-size:18px}.category-label{color:#6c634b;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.trend-score{background:#3b82f61a;border-radius:20px;font-size:18px;font-weight:700;padding:6px 12px}.trend-card-thumbnail{background:#f3f4f6;height:160px;overflow:hidden;width:100%}.trend-thumbnail-img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.trend-card:hover .trend-thumbnail-img{transform:scale(1.05)}.trend-content{padding:16px 20px}.trend-title{color:#111827;font-size:18px;font-weight:600;line-height:1.4;margin:0 0 12px}.trend-summary{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 16px}.trend-tags{display:flex;flex-wrap:wrap;gap:8px}.trend-tag{background:#f3f4f6;border-radius:4px;color:#374151;font-size:12px;font-weight:500;padding:4px 8px}.trend-footer{align-items:center;border-top:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:16px 20px 20px}.trend-meta{display:flex;flex-direction:column;gap:4px}.trend-source{color:#6c634b;font-size:12px;font-weight:600}.trend-date{color:#9ca3af;font-size:12px}.read-more-btn{background:none;border:none;color:#6c634b;cursor:pointer;font-size:14px;font-weight:500;transition:color .2s}.read-more-btn:hover{color:#dcd1b3}.find-trending-box{align-items:center;background:linear-gradient(135deg,var(--color-surface-sidebar) 0,var(--color-tab-active-bg) 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-hover);color:#fff;display:flex;flex-direction:column;justify-content:center;margin-bottom:32px;padding:80px 20px;text-align:center}.find-trending-icon{animation:float 3s ease-in-out infinite;font-size:4rem;margin-bottom:24px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.find-trending-box h3{color:#fff;font-size:32px;font-weight:700;margin:0 0 16px}.find-trending-box p{color:#ffffffe6;font-size:18px;margin:0 0 32px;max-width:400px}.find-trending-btn{background:#fff;border:none;border-radius:30px;box-shadow:0 4px 8px #0003;color:#a8a29e;cursor:pointer;font-size:16px;font-weight:600;padding:16px 32px;transition:transform .2s,box-shadow .2s}.find-trending-btn:hover{box-shadow:0 6px 16px #0000004d;transform:translateY(-2px)}.error-message{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;gap:12px;margin-bottom:24px;padding:16px}.error-icon{flex-shrink:0}.error-message p{font-size:14px;font-weight:500;margin:0}.empty-state{align-items:center;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.empty-icon{font-size:4rem;opacity:.5}.empty-state h3{color:#111827}.empty-state p{color:#6b7280;margin:0}@media (max-width:768px){.content-header{padding:20px 20px 16px}.content-body{padding:16px 20px}.search-section{align-items:stretch;flex-direction:column}.search-bar{max-width:none}.trends-grid{grid-template-columns:1fr}.trend-filters{padding:16px}.filter-btn{font-size:12px;padding:8px 12px}.trends-stats{gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-number{font-size:2rem}}@media (max-width:480px){.section-header h2{font-size:24px}.trend-card{margin:0 -8px}.trends-stats{grid-template-columns:1fr}}.chatbot-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.chatbot-popup{animation:chatbotSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;max-height:95vh;max-width:70vw;width:100%}@keyframes chatbotSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.chatbot-header{background:linear-gradient(135deg,#f7f0e4,#f7f0e4);border-bottom:1px solid #bdbaaa;border-radius:16px 16px 0 0;color:#fff;justify-content:space-between;padding:20px}.chatbot-header,.chatbot-title{align-items:center;display:flex}.chatbot-title{color:#a3a091;gap:12px}.chatbot-avatar{align-items:center;background:#fff3;border-radius:50%;display:flex;font-size:24px;height:40px;justify-content:center;width:40px}.chatbot-title h3{font-size:18px;font-weight:600;margin:0}.chatbot-status{font-size:12px;margin:0;opacity:.9}.chatbot-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;transition:background-color .2s;width:32px}.chatbot-close:hover{background:#fff3}.chatbot-body{flex:1 1;overflow-y:auto;padding:20px}.chatbot-messages{margin-bottom:20px}.bot-message,.user-message{display:flex;gap:12px;margin-bottom:16px}.user-message{flex-direction:row-reverse}.user-message .message-content{background:#cdccc8;color:#fff}.user-message .message-avatar{background:#b2afa0;color:#fff}.message-avatar{background:#f3f4f6;font-size:16px;height:32px;width:32px}.message-content{background:#f8fafc;border-radius:12px;flex:1 1}.message-content p{color:#374151;font-size:14px;line-height:1.5;margin:0 0 8px;white-space:pre-wrap}.message-content p:last-child{margin-bottom:0}.user-message .message-content p{color:#fff}.bot-message .message-content{max-width:none}.bot-message .message-content p{font-family:Geologica,-apple-system,BlinkMacSystemFont,sans-serif}.message-content p strong{color:#1f2937;font-weight:600}.user-message .message-content p strong{color:#fff}.trend-images-container{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:16px}.trend-images-label{color:#374151;font-size:14px;margin-bottom:12px!important}.trend-images-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.trend-image-wrapper{aspect-ratio:3/4;background:#f3f4f6;border-radius:10px;box-shadow:0 2px 8px #0000001a;overflow:hidden;position:relative;transition:transform .2s,box-shadow .2s}.trend-image-wrapper:hover{box-shadow:0 6px 16px #00000026;transform:scale(1.02)}.trend-image{display:block;height:100%;object-fit:cover;width:100%}.quick-actions{margin-bottom:20px}.custom-category-section{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:24px;text-align:center}.custom-category-section h4{color:#111827;font-size:18px;font-weight:600;margin:0 0 12px}.custom-category-section p{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 20px}.create-category-btn{background:linear-gradient(135deg,#b2afa0,#b2afa0);border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.create-category-btn:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.chatbot-footer{border-top:1px solid #e5e7eb;padding:20px}.chat-input-container{gap:8px}.chat-input{border:1px solid #b2afa0;border-radius:20px;outline:none;transition:border-color .2s}.chat-input:focus{border-color:#b2afa0}.send-btn{align-items:center;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:40px;justify-content:center;transition:background-color .2s;width:40px}.send-btn,.send-btn:hover{background:#b2afa0}.send-btn:disabled{background:#9ca3af;cursor:not-allowed}.send-btn:disabled:hover{background:#b2afa0}.chat-input:disabled{background:#f9fafb;color:#9ca3af}.trend-actions{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;margin-top:20px;padding:20px}.action-header{margin-bottom:16px}.action-header h4{color:#374151;font-size:16px;font-weight:600;margin:0}.action-section{margin-bottom:20px}.action-section:last-child{margin-bottom:0}.action-section h5{color:#6b7280;font-size:14px;font-weight:600;margin:0 0 10px}.category-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.category-action-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;padding:8px 12px;transition:all .2s}.category-action-btn:hover{background:#f3f4f6;border-color:#dcd1b3;color:#dcd1b3}.category-action-btn.custom{background:#fef3c7;border-color:#f59e0b;color:#92400e}.category-action-btn.custom:hover{background:#fde68a;border-color:#d97706;color:#78350f}.new-category-input{align-items:center;display:flex;gap:8px}.new-category-field{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s}.new-category-field:focus{border-color:#dcd1b3;box-shadow:0 0 0 3px #3b82f61a}.create-new-btn{border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s;white-space:nowrap}.create-new-btn,.create-new-btn:hover{background:#dcd1b3}.forget-trends-btn{align-items:center;background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:background-color .2s}.forget-trends-btn:hover{background:#dc2626}.action-bubbles-container{display:flex;gap:12px;justify-content:flex-start;margin-left:44px;margin-top:16px}.action-bubble{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:flex;font-size:14px;gap:8px;justify-content:center;min-width:120px;padding:8px 16px;transition:all .2s}.action-bubble:hover{background:#f8fafc;border-color:#dcd1b3;box-shadow:0 4px 8px #00000026;color:#dcd1b3;transform:translateY(-1px)}.action-bubble.dismiss{border-color:#fecaca;color:#ef4444}.action-bubble.dismiss:hover{background:#fef2f2;border-color:#ef4444;color:#dc2626}.bubble-icon{flex-shrink:0;font-size:16px}.bubble-text{font-size:12px;font-weight:500;white-space:nowrap}.category-selector-panel,.new-category-panel,.title-input-panel{animation:slideDown .2s ease-out;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;margin-left:44px;margin-top:12px;padding:16px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.category-selector-panel h5,.new-category-panel h5{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.category-options{display:flex;flex-wrap:wrap;gap:8px}.category-option-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;padding:8px 12px;transition:all .2s}.category-option-btn:hover{background:#f3f4f6;border-color:#dcd1b3;color:#dcd1b3}.category-option-btn.custom{background:#fef3c7;border-color:#f59e0b;color:#92400e}.category-option-btn.custom:hover{background:#fde68a;border-color:#d97706;color:#78350f}.new-category-form{align-items:center;display:flex;gap:8px}.new-category-input{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s}.new-category-input:focus{border-color:#dcd1b3;box-shadow:0 0 0 3px #3b82f61a}.create-category-submit-btn{background:#dcd1b3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s;white-space:nowrap}.create-category-submit-btn:hover{background:#dcd1b3}.create-category-submit-btn:disabled{background:#9ca3af;cursor:not-allowed}.create-category-submit-btn:disabled:hover{background:#9ca3af}.title-input-panel h5{color:#374151;font-size:14px;font-weight:600;margin:0 0 8px}.title-input-form{display:flex;flex-direction:column;gap:12px}.title-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;padding:12px 16px;transition:border-color .2s;width:100%}.title-input:focus{border-color:#dcd1b3;box-shadow:0 0 0 3px #dcd1b31a}.title-input::placeholder{color:#9ca3af}.title-input-buttons{display:flex;gap:8px;justify-content:flex-end}.save-with-title-btn{align-items:center;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 16px;transition:background-color .2s}.save-with-title-btn:hover{background:#059669}.cancel-title-btn{background:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:background-color .2s}.cancel-title-btn:hover{background:#4b5563}.floating-add-btn{align-items:center;background:linear-gradient(135deg,#dcd1b3,#afa488);border:none;border-radius:50px;box-shadow:0 4px 12px #6c634b33;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:10px;padding:12px 24px;transition:all .3s ease}.floating-add-btn:hover{background:linear-gradient(135deg,#c4b896,#9e9577);box-shadow:0 6px 16px #6c634b4d;transform:translateY(-1px)}.floating-btn-icon{font-size:18px}.floating-btn-text{font-size:14px;white-space:nowrap}.trend-detail-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}.trend-detail-info{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;padding:16px}.trend-detail-meta{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.trend-detail-meta .trend-category{align-items:center;background:#dcd1b3;border-radius:20px;color:#fff;display:flex;font-size:12px;font-weight:600;gap:6px;padding:4px 12px}.trend-detail-meta .trend-date,.trend-detail-meta .trend-source{color:#6b7280;font-size:12px;font-weight:500}.trend-detail-images{margin-bottom:16px}.trend-detail-images h4{color:#374151;font-size:15px;font-weight:600;margin:0 0 12px}.trend-detail-images-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.trend-detail-image-wrapper{background:#f3f4f6;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:transform .2s,box-shadow .2s}.trend-detail-image-wrapper:hover{box-shadow:0 4px 16px #00000026;transform:scale(1.03)}.trend-detail-img{display:block;height:180px;object-fit:cover;width:100%}.trend-full-content{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;flex:1 1;max-height:60vh;min-height:200px;overflow-y:auto;padding:16px}.trend-content-text{color:#374151;font-family:Geologica,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.7}.trend-content-text p{word-wrap:break-word;margin:0 0 16px;overflow-wrap:break-word;white-space:pre-wrap}.trend-content-text p:last-child{margin-bottom:0}.trend-content-text p:empty{height:8px;margin:0}.modal-overlay{background:#00000080;padding:20px}.delete-confirm-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;max-width:480px;overflow:hidden;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{justify-content:space-between;padding:24px 24px 0}.modal-header,.modal-header h3{align-items:center;display:flex}.modal-header h3{word-wrap:break-word;color:#374151;font-size:18px;font-weight:600;gap:8px;line-height:1.4;margin:0;max-width:80%;overflow-wrap:break-word}.trend-detail-modal .modal-header h3{color:#111827;font-size:20px;font-weight:700}.delete-confirm-modal .modal-header h3{color:#ef4444;font-size:20px;font-weight:600}.close-modal-btn{background:none;color:#6b7280;font-size:24px;transition:all .2s}.close-modal-btn:hover{background:#f3f4f6;color:#374151}.modal-content{padding:20px 24px}.modal-content p{color:#374151;font-size:16px;line-height:1.5;margin:0 0 16px}.trend-to-delete-info{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;margin:16px 0;padding:12px 16px}.trend-to-delete-info strong{color:#111827;font-size:14px;font-weight:600}.warning-text{color:#ef4444!important;font-size:14px!important;font-weight:500;margin-bottom:0!important}.modal-actions{justify-content:flex-end;padding:0 24px 24px}.cancel-btn,.close-btn{background:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:12px 20px;transition:background-color .2s}.cancel-btn:hover,.close-btn:hover{background:#4b5563}.delete-confirm-btn{align-items:center;background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;min-width:100px;padding:12px 20px;transition:background-color .2s}.delete-confirm-btn:hover{background:linear-gradient(135deg,#c82333,#a71e2c)}.generate-cad-btn{align-items:center;background:linear-gradient(135deg,#dcd1b3,#c4b896);border:none;border-radius:8px;box-shadow:0 4px 12px #6c634b33;color:#5c5544;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s ease}.generate-cad-btn:hover:not(:disabled){background:linear-gradient(135deg,#c4b896,#afa488);box-shadow:0 6px 16px #6c634b4d;transform:translateY(-2px)}.generate-cad-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.generate-cad-btn span:first-child{font-size:18px}.cad-success-message{animation:slideIn .3s ease;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:1px solid #81c784;border-radius:8px;color:#2e7d32;font-size:14px;margin:0 16px 16px;padding:12px 16px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.markdown-body{word-wrap:break-word;color:#374151;font-family:Geologica,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.6;overflow-wrap:break-word}.markdown-body .md-h1{border-bottom:1px solid #e5e7eb;color:#111827;font-size:1.5em;font-weight:700;margin:16px 0 8px;padding-bottom:6px}.markdown-body .md-h2{border-bottom:1px solid #f3f4f6;color:#1f2937;font-size:1.3em;font-weight:700;margin:14px 0 6px;padding-bottom:4px}.markdown-body .md-h3{color:#374151;font-size:1.1em;font-weight:600;margin:12px 0 6px}.markdown-body .md-paragraph{line-height:1.6;margin:0 0 8px}.markdown-body .md-paragraph:last-child{margin-bottom:0}.markdown-body strong{color:#1f2937;font-weight:600}.user-message .markdown-body strong{color:#fff}.markdown-body em{font-style:italic}.markdown-body .md-list{margin:6px 0 10px;padding-left:24px}.markdown-body .md-list li{color:#374151;line-height:1.5;margin-bottom:4px}.markdown-body .md-list li::marker{color:#6c634b}.markdown-body .md-hr{border:none;border-top:1px solid #d1d5db;margin:12px 0}.markdown-body .md-code{background:#f3f4f6;border-radius:4px;color:#6c634b;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9em;padding:2px 6px}.markdown-body .md-citation{color:#6c634b;cursor:default;font-size:.75em;font-weight:600;line-height:0;vertical-align:super}.markdown-body br{content:"";display:block;margin-top:4px}.vogue-section{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);margin-bottom:32px;overflow:hidden}.vogue-section-header{align-items:center;background:var(--color-surface-callout);border-bottom:1px solid var(--color-border-subtle);cursor:pointer;display:flex;justify-content:space-between;padding:20px 24px;transition:background-color .15s}.vogue-section-header:hover{background:var(--color-surface-hover)}.vogue-brand{align-items:center;display:flex;gap:16px}.vogue-logo{color:#1a1a1a;font-family:Geologica,Georgia,serif;font-size:28px;font-weight:700;letter-spacing:6px;text-transform:uppercase}.vogue-subtitle{border-left:2px solid #dcd1b3;color:#6b7280;font-size:13px;font-weight:500;padding-left:16px}.vogue-header-actions{align-items:center;display:flex;gap:12px}.vogue-refresh-btn{background:none;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;padding:6px 10px;transition:all .2s}.vogue-refresh-btn:hover{background:#f3f4f6;border-color:#9ca3af}.vogue-refresh-btn:disabled{cursor:not-allowed;opacity:.5}.vogue-collapse-icon{color:#6b7280;font-size:12px;transition:transform .3s ease}.vogue-collapse-icon.open{transform:rotate(0deg)}.vogue-collapse-icon:not(.open){transform:rotate(-90deg)}.vogue-section-body{animation:slideDown .3s ease-out;padding:0}.vogue-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:48px 20px;text-align:center}.vogue-loading p{color:#6b7280;font-size:14px;margin-top:12px}.vogue-error{align-items:center;background:#fef2f2;color:#dc2626;display:flex;gap:10px;padding:16px 24px}.vogue-error p{font-size:14px;margin:0}.vogue-empty{color:#6b7280;padding:40px 24px;text-align:center}.vogue-empty p{font-size:14px;margin:0}.vogue-articles-scroll{display:flex;flex-direction:column;max-height:600px;overflow-y:auto}.vogue-article-card{align-items:stretch;border-bottom:1px solid #f3f4f6;color:inherit;display:flex;gap:16px;padding:16px 24px;text-decoration:none;transition:background-color .2s}.vogue-article-card:last-child{border-bottom:none}.vogue-article-card:hover{background:#fafaf8}.vogue-article-image{background:#f3f4f6;border-radius:8px;flex-shrink:0;height:90px;min-width:120px;overflow:hidden;width:120px}.vogue-article-image img{display:block;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.vogue-article-card:hover .vogue-article-image img{transform:scale(1.05)}.vogue-article-content{display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center;min-width:0}.vogue-article-category{color:#6c634b;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.vogue-article-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1a1a1a;display:-webkit-box;font-family:Geologica,Georgia,serif;font-size:15px;font-weight:600;line-height:1.4;margin:0;overflow:hidden}.vogue-article-card:hover .vogue-article-title{color:#6c634b}.vogue-article-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:13px;line-height:1.4;margin:0;overflow:hidden}.vogue-article-meta{align-items:center;display:flex;gap:12px;margin-top:2px}.vogue-article-source{font-weight:600;letter-spacing:.5px;text-transform:uppercase}.vogue-article-date,.vogue-article-source{color:#9ca3af;font-size:11px}.vogue-article-arrow{align-items:center;color:#d1d5db;display:flex;flex-shrink:0;font-size:18px;transition:color .2s,transform .2s}.vogue-article-card:hover .vogue-article-arrow{color:#6c634b;transform:translateX(4px)}.vogue-footer{background:#fafafa;border-top:1px solid #e5e7eb;padding:12px 24px;text-align:center}.vogue-visit-link{color:#6c634b;font-size:13px;font-weight:600;letter-spacing:.5px;text-decoration:none;transition:color .2s}.vogue-visit-link:hover{color:#1a1a1a;text-decoration:underline}.gq-section{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);margin-bottom:32px;overflow:hidden}.gq-section-header{align-items:center;background:var(--color-surface-callout);border-bottom:1px solid var(--color-border-subtle);cursor:pointer;display:flex;justify-content:space-between;padding:20px 24px;transition:background-color .15s}.gq-section-header:hover{background:var(--color-surface-hover)}.gq-brand{align-items:center;display:flex;gap:16px}.gq-logo{color:#0a0a0a;font-family:Geologica,Arial Black,sans-serif;font-size:28px;font-weight:900;letter-spacing:2px;text-transform:uppercase}.gq-subtitle{border-left:2px solid #0a0a0a;color:#6b7280;font-size:13px;font-weight:500;padding-left:16px}.gq-header-actions{align-items:center;display:flex;gap:12px}.gq-refresh-btn{background:none;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;padding:6px 10px;transition:all .2s}.gq-refresh-btn:hover{background:#f3f4f6;border-color:#9ca3af}.gq-refresh-btn:disabled{cursor:not-allowed;opacity:.5}.gq-collapse-icon{color:#6b7280;font-size:12px;transition:transform .3s ease}.gq-collapse-icon.open{transform:rotate(0deg)}.gq-collapse-icon:not(.open){transform:rotate(-90deg)}.gq-section-body{animation:slideDown .3s ease-out;padding:0}.gq-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:48px 20px;text-align:center}.gq-loading p{color:#6b7280;font-size:14px;margin-top:12px}.gq-error{align-items:center;background:#fef2f2;color:#dc2626;display:flex;gap:10px;padding:16px 24px}.gq-error p{font-size:14px;margin:0}.gq-empty{color:#6b7280;padding:40px 24px;text-align:center}.gq-empty p{font-size:14px;margin:0}.gq-articles-scroll{display:flex;flex-direction:column;max-height:600px;overflow-y:auto}.gq-article-card{align-items:stretch;border-bottom:1px solid #f3f4f6;color:inherit;display:flex;gap:16px;padding:16px 24px;text-decoration:none;transition:background-color .2s}.gq-article-card:last-child{border-bottom:none}.gq-article-card:hover{background:#f8f8f8}.gq-article-image{background:#f3f4f6;border-radius:8px;flex-shrink:0;height:90px;min-width:120px;overflow:hidden;width:120px}.gq-article-image img{display:block;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.gq-article-card:hover .gq-article-image img{transform:scale(1.05)}.gq-article-content{display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center;min-width:0}.gq-article-category{color:#0a0a0a;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.gq-article-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1a1a1a;display:-webkit-box;font-size:15px;font-weight:600;line-height:1.4;margin:0;overflow:hidden}.gq-article-card:hover .gq-article-title{color:#0a0a0a}.gq-article-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:13px;line-height:1.4;margin:0;overflow:hidden}.gq-article-meta{align-items:center;display:flex;gap:12px;margin-top:2px}.gq-article-source{font-weight:600;letter-spacing:.5px;text-transform:uppercase}.gq-article-date,.gq-article-source{color:#9ca3af;font-size:11px}.gq-article-arrow{align-items:center;color:#d1d5db;display:flex;flex-shrink:0;font-size:18px;transition:color .2s,transform .2s}.gq-article-card:hover .gq-article-arrow{color:#0a0a0a;transform:translateX(4px)}.gq-footer{background:#fafafa;border-top:1px solid #e5e7eb;padding:12px 24px;text-align:center}.gq-visit-link{color:#0a0a0a;font-size:13px;font-weight:600;letter-spacing:.5px;text-decoration:none;transition:color .2s}.gq-visit-link:hover{color:#444;text-decoration:underline}@media (max-width:480px){.chatbot-popup{margin:0;max-height:90vh;max-width:100%}.quick-actions{grid-template-columns:1fr}.chatbot-body,.chatbot-footer,.chatbot-header{padding:16px}.category-buttons{flex-direction:column}.category-action-btn{justify-content:center}.new-category-input{align-items:stretch;flex-direction:column}.create-new-btn{margin-top:8px}.floating-add-btn{bottom:20px;padding:14px 18px;right:20px}.floating-btn-text{font-size:13px}.floating-btn-icon{font-size:18px}.delete-confirm-modal{margin:20px;max-width:95%}.modal-actions,.modal-content,.modal-header{padding-left:20px;padding-right:20px}.modal-actions{flex-direction:column-reverse}.cancel-btn,.delete-confirm-btn{justify-content:center;width:100%}.vogue-logo{font-size:20px;letter-spacing:4px}.vogue-subtitle{display:none}.vogue-article-card{padding:12px 16px}.vogue-article-image{height:60px;min-width:80px;width:80px}.vogue-article-title{font-size:13px}.vogue-article-desc{display:none}}.annotation-modal-overlay{align-items:center;background-color:#d4cfc7e6;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.annotation-modal{background:#f8f6f3;border-radius:20px;box-shadow:0 25px 80px #a3987c4d;color:#333;display:flex;flex-direction:column;max-height:95vh;max-width:95vw;overflow:hidden}.annotation-header{display:none}.top-toolbar{background:linear-gradient(135deg,#e8e4dc,#d4cfc7);border-bottom:1px solid #c5bfb5;display:flex;justify-content:center;padding:20px}.circular-tools{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #a3987c33;border-radius:50px;gap:8px;padding:12px 20px}.circular-btn,.circular-tools{background:#a3987c1a;display:flex}.circular-btn{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:none;border-radius:50%;color:#333;cursor:pointer;height:50px;justify-content:center;position:relative;transition:all .3s ease;width:50px}.circular-btn:hover{background:#a3987c33;transform:scale(1.05)}.circular-btn.active{background:#a3987c4d;box-shadow:0 0 20px #a3987c4d}.circular-btn .tool-text{color:#333;font-size:16px;font-weight:700}.close-btn-circular{background:#dc354533!important;color:#dc3545!important}.close-btn-circular:hover{background:#dc354566!important}.clear-all-btn-circular{background:#dc3545cc!important;border:2px solid #dc3545e6!important;color:#fff!important}.clear-all-btn-circular:hover:not(:disabled){background:#dc3545!important;box-shadow:0 4px 16px #dc35454d!important;transform:scale(1.05)}.clear-all-btn-circular:disabled{background:#dc35454d!important;box-shadow:none!important;color:#fff9!important;cursor:not-allowed!important;transform:none!important}.clear-all-btn-text{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#dc3545cc;border:2px solid #dc3545e6;border-radius:25px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:all .3s ease}.clear-all-btn-text:hover:not(:disabled){background:#dc3545;box-shadow:0 4px 16px #dc35454d;transform:scale(1.05)}.clear-all-btn-text:disabled{background:#dc35454d;box-shadow:none;color:#fff9;cursor:not-allowed;transform:none}.annotation-content{background:#f0ede6;display:flex;flex:1 1}.left-toolbar{background:#e8e4dc;border-right:1px solid #c5bfb5;flex-shrink:0;min-height:0;overflow-y:auto;padding:20px 0;width:80px}.left-toolbar,.toolbar-section{display:flex;flex-direction:column}.toolbar-section{gap:12px;padding:0 15px}.toolbar-divider{background:#c5bfb5;height:1px;margin:20px 0}.tool-btn{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#a3987c1a;border:none;border-radius:12px;color:#666;height:50px;justify-content:center;transition:all .3s ease;width:50px}.tool-btn:hover{background:#a3987c33;color:#333;transform:translateY(-2px)}.tool-btn.active{background:#a3987c4d;box-shadow:0 4px 12px #a3987c33;color:#333}.color-section{align-items:center;display:flex;flex-direction:column;gap:12px}.color-picker-display{border:3px solid #a3987c4d;border-radius:50%;cursor:pointer;height:40px;transition:all .3s ease;width:40px}.color-picker-display:hover{border-color:#a3987c80;transform:scale(1.1)}.color-options{grid-gap:4px;display:grid;gap:4px;grid-template-columns:1fr 1fr;width:100%}.mini-color-btn{border:none!important;border-radius:50%!important;box-sizing:border-box!important;cursor:pointer;height:20px!important;padding:0!important;transition:all .2s ease;width:20px!important}.mini-color-btn:hover{transform:scale(1.2)}.mini-color-btn.active,.mini-color-btn[style*="background-color: #ffffff"].active,.mini-color-btn[style*="background-color: rgb(255, 255, 255)"].active{box-shadow:0 0 0 3px #a3987c!important;transform:scale(1.2)}.annotation-toolbar{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:20px;padding:15px 20px}.tool-group{align-items:center;display:flex;gap:8px}.tool-group label{color:#495057;font-size:14px;font-weight:500;margin-right:5px}.tool-group button{background:#fff;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;font-size:13px;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.tool-group button:hover{background:#f8f9fa;border-color:#a3987c}.tool-group button.active{background:#a3987c;border-color:#a3987c;color:#fff}.color-palette{display:flex;gap:4px}.color-btn{border:2px solid #dee2e6!important;border-radius:50%!important;cursor:pointer;height:28px!important;padding:0!important;transition:all .2s ease;width:28px!important}.color-btn:hover{border-color:#6c757d!important;transform:scale(1.1)}.color-btn.active{border-color:#2c3e50!important;border-width:3px!important;transform:scale(1.1)}.width-options{display:flex;gap:4px}.width-options button{font-size:12px;min-width:45px;padding:6px 8px!important}.annotation-canvas-container{align-items:center;background:#f0ede6;display:flex;flex:1 1;justify-content:center;min-height:400px;overflow:auto;padding:20px}.annotation-canvas{background:#fff;border:2px solid #c5bfb5;border-radius:16px;box-shadow:0 8px 32px #a3987c33;max-height:100%;max-width:100%}.image-loading{flex-direction:column;justify-content:center;min-height:400px;width:100%}.image-loading,.loading-spinner{align-items:center;color:#666;display:flex}.loading-spinner{font-size:16px;gap:10px}.loading-spinner:before{animation:spin 1s linear infinite;border:2px solid #c5bfb5;border-radius:50%;border-top-color:#a3987c;content:"";height:20px;width:20px}.text-input-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#d4cfc7cc;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.text-input-box{background:#f8f6f3;border:1px solid #a3987c33;border-radius:16px;box-shadow:0 12px 40px #a3987c4d;color:#333;min-width:320px;padding:24px}.text-input-box input{background:#fff;border:1px solid #a3987c4d;border-radius:8px;color:#333;font-size:14px;margin-bottom:16px;outline:none;padding:14px;transition:all .2s ease;width:100%}.text-input-box input::placeholder{color:#999}.text-input-box input:focus{background:#fff;border-color:#a3987c;box-shadow:0 0 0 2px #a3987c33}.text-input-actions{display:flex;gap:12px;justify-content:flex-end}.text-input-actions button{background:#fff;border:1px solid #a3987c4d;border-radius:8px;color:#333;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s ease}.text-input-actions button:first-child{background:#a3987c;border-color:#a3987c;color:#fff}.text-input-actions button:first-child:hover{background:#8b7a5c;transform:translateY(-1px)}.text-input-actions button:last-child:hover{background:#f0ede6;border-color:#a3987c}.annotation-footer{align-items:center;background:linear-gradient(135deg,#e8e4dc,#d4cfc7);border-top:1px solid #c5bfb5;display:flex;justify-content:space-between;padding:24px}.cancel-btn{border:1px solid #a3987c4d;padding:12px 24px}.cancel-btn:hover{background:#f0ede6;border-color:#a3987c;color:#333;transform:translateY(-1px)}.save-btn{background:#a3987c;border:1px solid #a3987c;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.save-btn:hover:not(:disabled){background:#8b7a5c;border-color:#8b7a5c;transform:translateY(-1px)}.save-btn:disabled{background:#a3987c4d;border-color:#a3987c4d;color:#999;cursor:not-allowed}@media (max-width:768px){.annotation-modal{margin:10px;max-height:calc(100vh - 20px);max-width:calc(100vw - 20px)}.annotation-toolbar{align-items:stretch;flex-direction:column;gap:15px}.tool-group{flex-wrap:wrap;justify-content:center}.annotation-canvas-container{padding:10px}.annotation-footer{flex-direction:column;gap:10px}.annotation-footer button{width:100%}}@media (max-width:480px){.annotation-header{padding:15px}.annotation-toolbar{padding:10px 15px}.tool-group{gap:6px}.tool-group button{font-size:12px;padding:6px 10px}.color-btn{height:24px!important;width:24px!important}.text-input-box{margin:20px;min-width:auto;width:calc(100vw - 80px)}}.save-btn:disabled{position:relative}.save-btn:disabled:after{animation:spin 1s linear infinite;border:2px solid #6c757d;border-radius:50%;border-top-color:#0000;content:"";height:16px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:16px}.annotation-canvas[data-tool=pen]{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="2" fill="black"/></svg>') 10 10,crosshair}.annotation-canvas[data-tool=highlighter]{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><rect x="8" y="8" width="4" height="4" fill="yellow" opacity="0.5"/></svg>') 10 10,crosshair}.annotation-canvas[data-tool=text]{cursor:text}.inline-text-cursor{animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.invisible-text-input{left:-9999px!important;opacity:0!important;pointer-events:none!important;position:fixed!important;top:-9999px!important;z-index:-1!important}.annotation-canvas[data-adding-text=true]{cursor:text!important}.success-message-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.success-message-box{animation:successSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;margin:20px;max-width:400px;padding:30px;text-align:center}.success-icon{font-size:48px;margin-bottom:15px}.success-message-box p{color:#2c3e50;font-size:16px;line-height:1.5;margin:0}@keyframes successSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.font-section{gap:8px;min-height:0}.font-section,.font-size-selector{align-items:center;display:flex;flex-direction:column;flex-shrink:0}.font-size-selector{background:#fff3;border:1px solid #a3987c33;border-radius:8px;box-sizing:border-box;gap:4px;height:300px;overflow-x:hidden;overflow-y:scroll;padding:8px 4px 12px;width:100%}.font-size-selector::-webkit-scrollbar{width:4px}.font-size-selector::-webkit-scrollbar-track{background:#a3987c1a;border-radius:2px}.font-size-selector::-webkit-scrollbar-thumb{background:#a3987c4d;border-radius:2px}.font-size-selector::-webkit-scrollbar-thumb:hover{background:#a3987c80}.font-size-selector label{color:#666!important;letter-spacing:.5px;margin-bottom:6px!important;text-transform:uppercase}.font-size-selector label,.size-btn{font-size:11px!important;font-weight:600!important}.size-btn{align-items:center;background:#fff6!important;border:1px solid #a3987c33!important;border-radius:6px!important;color:#333!important;cursor:pointer;display:flex;height:26px!important;justify-content:center;margin:2px!important;transition:all .2s ease;width:38px!important}.size-btn:hover{background:#a3987c33!important;border-color:#a3987c66!important;box-shadow:0 2px 8px #a3987c33;color:#222!important;transform:translateY(-1px)}.size-btn.active{background:#a3987c66!important;border-color:#a3987c99!important;box-shadow:0 2px 12px #a3987c4d;color:#222!important}.size-btn.active:hover{background:#a3987c80!important;transform:translateY(-1px)}.width-section{align-items:center;gap:8px}.fabric-library,.width-section{display:flex;flex-direction:column}.fabric-library{background-color:var(--color-surface-primary);height:100vh}.fabric-library .content-header{background:var(--color-surface-card);border:none;border-bottom:1px solid var(--color-border-subtle);border-radius:0;box-shadow:0 1px 3px #0000000d;flex-shrink:0;margin:0;padding:24px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.fabric-library .page-title{align-items:center;color:#333;display:flex;font-size:28px;font-weight:700;gap:12px;margin:0 0 8px}.fabric-library .search-section{align-items:center;display:flex;gap:20px;justify-content:space-between}.fabric-library .header-buttons{display:flex;gap:12px}.fabric-library .add-fabric-btn{background-color:var(--color-tab-active-bg);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.fabric-library .add-fabric-btn:hover{background-color:var(--color-cta-bg)}.fabric-library .refresh-btn{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:8px;cursor:pointer;font-size:14px;padding:10px 16px}.fabric-library .refresh-btn:hover:not(:disabled){border-color:var(--color-tab-active-bg)}.fabric-library .refresh-btn:disabled{cursor:not-allowed;opacity:.6}.fabric-library .content-body{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow-y:auto}.fabric-library .library-main{flex:1 1;overflow-y:auto;padding:24px 32px 32px}.fabric-library .empty-state{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:80px 32px;text-align:center}.fabric-library .empty-icon{font-size:64px;margin-bottom:24px;opacity:.6}.fabric-library .empty-state h3{color:#333;font-size:24px;font-weight:600;margin-bottom:8px}.fabric-library .empty-state p{color:#666;font-size:16px;margin-bottom:32px}.fabric-library .add-first-fabric-btn{background-color:#8b4b9b;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:background-color .2s ease}.fabric-library .add-first-fabric-btn:hover{background-color:#7a4089}.fabric-library .error-state,.fabric-library .loading-state{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:80px 32px;text-align:center}.fabric-library .error-icon{font-size:64px;margin-bottom:24px;opacity:.6}.fabric-library .error-state h3,.fabric-library .loading-state h3{color:#333;font-size:24px;font-weight:600;margin-bottom:8px}.fabric-library .error-state p,.fabric-library .loading-state p{color:#666;font-size:16px;margin-bottom:32px}.fabric-library .retry-btn{background-color:#8b4b9b;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:background-color .2s ease}.fabric-library .retry-btn:hover{background-color:#7a4089}.fabric-library .hourglass-loading{animation:fabric-hourglass-flip 2s ease-in-out infinite;display:inline-block;font-size:64px;margin-bottom:16px}.fabric-library .hourglass-loading:before{content:"⏳"}@keyframes fabric-hourglass-flip{0%{transform:rotate(0deg)}50%{transform:rotate(180deg)}to{transform:rotate(1turn)}}.fabric-library .fabrics-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.fabric-library .fabric-card{background-color:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-flat);overflow:hidden;transition:all .15s ease}.fabric-library .fabric-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.fabric-library .fabric-header{height:120px;position:relative}.fabric-library .fabric-swatch{height:100%;position:relative;width:100%}.fabric-library .fabric-texture-overlay{background:linear-gradient(45deg,#0000 40%,#ffffff1a 50%,#0000 60%);bottom:0;left:0;position:absolute;right:0;top:0}.fabric-library .fabric-swatch-image{overflow:hidden}.fabric-library .fabric-card-image{display:block;height:100%;object-fit:cover;width:100%}.fabric-library .fabric-actions{display:flex;gap:4px;opacity:0;position:absolute;right:12px;top:12px;transition:opacity .3s ease}.fabric-library .fabric-card:hover .fabric-actions{opacity:1}.fabric-library .action-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;padding:6px;transition:all .2s ease;width:28px}.fabric-library .action-btn:hover{background:#fff;transform:scale(1.1)}.fabric-library .fabric-info{padding:20px}.fabric-library .fabric-name{color:#333;font-size:18px;font-weight:600;margin:0 0 4px}.fabric-library .fabric-supplier{color:#a3987c;font-size:14px;font-weight:500;margin-bottom:16px}.fabric-library .fabric-details{margin-bottom:16px}.fabric-library .detail-row{align-items:flex-start;display:flex;font-size:14px;gap:12px;justify-content:space-between;padding:6px 0}.fabric-library .detail-label{color:#666;flex-shrink:0;font-weight:500;min-width:120px}.fabric-library .detail-value{word-wrap:break-word;color:#333;flex:1 1;line-height:1.4;overflow-wrap:break-word;text-align:right}.fabric-library .price-row .detail-value.price{color:#6c5353;font-weight:600}.fabric-library .fabric-tags{display:flex;flex-wrap:wrap;gap:8px}.fabric-library .fabric-tag{background-color:#f1f3f4;border-radius:12px;color:#666;font-size:12px;font-weight:500;padding:4px 8px}.fabric-library .copy-notification{align-items:center;animation:fabric-slideInUp .3s ease;background-color:#8b4b9b;border-radius:8px;bottom:24px;box-shadow:0 4px 16px #0003;color:#fff;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;position:fixed;right:24px;z-index:1000}@keyframes fabric-slideInUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.fabric-library .copy-icon{font-size:16px}.fabric-library .fabric-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.fabric-library .fabric-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:800px;overflow:hidden;width:90vw}.fabric-library .fabric-modal-header{align-items:center;background:linear-gradient(135deg,#dbd5c5,#b4af94);border-bottom:1px solid #e9ecef;color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:24px}.fabric-library .fabric-modal-header h2{font-size:24px;font-weight:600;margin:0}.fabric-library .close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:4px;transition:background-color .2s ease;width:32px}.fabric-library .close-btn:hover{background-color:#fff3}.fabric-library .fabric-modal-content{flex:1 1;min-height:0;overflow-y:auto;padding:24px}.fabric-library .fabric-modal-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.fabric-library .modal-field{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:12px}.fabric-library .modal-field.modal-field-full{grid-column:1/-1}.fabric-library .modal-field strong{color:#6c5353;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.fabric-library .modal-field span{word-wrap:break-word;color:#333;font-size:16px;overflow-wrap:break-word}.fabric-library .fabric-modal-footer{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;flex-shrink:0;gap:16px;justify-content:flex-end;padding:16px 24px}.fabric-library .modal-icon-btn{background:none;border:none;border-radius:50%;cursor:pointer;font-size:22px;line-height:1;opacity:.8;padding:6px;transition:transform .2s ease,opacity .2s ease}.fabric-library .modal-icon-btn:hover{opacity:1;transform:scale(1.25)}.fabric-library .modal-icon-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}.fabric-library .cancel-btn,.fabric-library .save-btn{border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s}.fabric-library .cancel-btn{background:#fff;border:1px solid #ddd;color:#666}.fabric-library .cancel-btn:hover{background:#f1f3f4}.fabric-library .save-btn{background:var(--color-tab-active-bg);border:none;color:#fff}.fabric-library .save-btn:hover:not(:disabled){background:var(--color-cta-hover)}.fabric-library .save-btn:disabled{cursor:not-allowed;opacity:.6}.fabric-library .add-fabric-modal{max-width:900px}.fabric-library .add-fabric-form{display:flex;flex-direction:column;gap:16px}.fabric-library .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.fabric-library .form-row.full-width{grid-template-columns:1fr}.fabric-library .form-group{display:flex;flex-direction:column;gap:6px}.fabric-library .form-group label{color:#555;font-size:13px;font-weight:600}.fabric-library .form-group input,.fabric-library .form-group select,.fabric-library .form-group textarea{border:1px solid #ddd;border-radius:8px;font-size:14px;padding:10px 12px;transition:border-color .2s}.fabric-library .form-group input:focus,.fabric-library .form-group select:focus,.fabric-library .form-group textarea:focus{border-color:#6c634b;outline:none}.fabric-library .form-group textarea{min-height:80px;resize:vertical}.fabric-library .error-toast{align-items:center;background:#fee;border:1px solid #fcc;border-radius:8px;bottom:24px;box-shadow:0 4px 16px #00000026;color:#c00;display:flex;gap:12px;left:50%;padding:12px 24px;position:fixed;transform:translateX(-50%);z-index:1100}.fabric-library .error-toast button{background:none;border:none;color:#c00;cursor:pointer;font-size:18px;padding:0}.fabric-library .fabric-images-section{border-top:1px solid #e9ecef;margin-top:24px;padding-top:20px}.fabric-library .fabric-images-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.fabric-library .fabric-images-header h3{color:#333;font-size:16px;font-weight:600;margin:0}.fabric-library .upload-image-btn{align-items:center;background:#6c634b;background:var(--color-tab-active-bg,#6c634b);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.fabric-library .upload-image-btn:hover{background:#5a5440;background:var(--color-cta-bg,#5a5440);transform:translateY(-1px)}.fabric-library .fabric-images-gallery{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.fabric-library .fabric-image-item{aspect-ratio:1;background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;overflow:hidden;position:relative;transition:transform .15s ease,box-shadow .15s ease}.fabric-library .fabric-image-item:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.fabric-library .fabric-gallery-image{display:block;height:100%;object-fit:cover;width:100%}.fabric-library .fabric-image-placeholder{align-items:center;background:#f0f0f0;color:#ccc;display:flex;font-size:32px;height:100%;justify-content:center;width:100%}.fabric-library .fabric-image-overlay{align-items:center;background:linear-gradient(#0000,#000000b3);bottom:0;display:flex;justify-content:space-between;left:0;opacity:0;padding:24px 8px 8px;position:absolute;right:0;transition:opacity .2s ease}.fabric-library .fabric-image-item:hover .fabric-image-overlay{opacity:1}.fabric-library .fabric-image-filename{color:#fff;font-size:11px;max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fabric-library .fabric-image-delete-btn{align-items:center;background:#dc3545d9;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;height:26px;justify-content:center;transition:all .15s ease;width:26px}.fabric-library .fabric-image-delete-btn:hover{background:#dc3545;transform:scale(1.1)}.fabric-library .fabric-image-delete-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.fabric-library .fabric-images-empty{background:#f8f9fa;border:2px dashed #ddd;border-radius:10px;color:#888;font-size:14px;padding:24px;text-align:center}@media (max-width:1200px){.fabric-library .fabrics-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:1024px){.fabric-library .content-body{flex-direction:column}.fabric-library .fabrics-grid{gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.fabric-library .content-header{padding:16px 20px}.fabric-library .search-section{flex-direction:column;gap:16px}.fabric-library .search-bar{max-width:none;min-width:auto}.fabric-library .header-buttons{justify-content:stretch;width:100%}.fabric-library .add-fabric-btn{flex:1 1}.fabric-library .library-main{padding:20px}.fabric-library .fabrics-grid{gap:16px;grid-template-columns:1fr}.fabric-library .copy-notification{bottom:16px;left:16px;right:16px;text-align:center}.fabric-library .fabric-modal{max-height:90vh;width:95vw}.fabric-library .fabric-modal-grid{gap:12px;grid-template-columns:1fr}.fabric-library .fabric-modal-header{padding:16px}.fabric-library .fabric-modal-header h2{font-size:20px}.fabric-library .fabric-modal-content{padding:16px}.fabric-library .form-row{grid-template-columns:1fr}.fabric-library .fabric-modal-footer{flex-direction:column;padding:16px}.fabric-library .cancel-btn,.fabric-library .save-btn{width:100%}.fabric-library .fabric-images-gallery{gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.fabric-library .fabric-images-header{align-items:flex-start;flex-direction:column;gap:8px}}@media (max-width:480px){.fabric-library .fabric-card{border-radius:12px}.fabric-library .fabric-info{padding:16px}.fabric-library .fabric-name{font-size:16px}.fabric-library .fabric-header{height:100px}.fabric-library .detail-row{font-size:13px}.fabric-library .fabric-tag{font-size:11px}}.yarn-library{background-color:var(--color-surface-primary);display:flex;flex-direction:column;height:100vh}.yarn-library .content-header{background:var(--color-surface-card);border:none;border-bottom:1px solid var(--color-border-subtle);border-radius:0;box-shadow:0 1px 3px #0000000d;flex-shrink:0;margin:0;padding:24px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.yarn-library .page-title{align-items:center;color:#333;display:flex;font-size:28px;font-weight:700;gap:12px;margin:0 0 8px}.yarn-library .search-section{align-items:center;display:flex;gap:20px;justify-content:space-between}.yarn-library .header-buttons{display:flex;gap:12px}.yarn-library .add-yarn-btn,.yarn-library .export-collection-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.yarn-library .add-yarn-btn{background-color:var(--color-tab-active-bg);color:#fff}.yarn-library .add-yarn-btn:hover{background-color:var(--color-cta-bg)}.yarn-library .export-collection-btn{background-color:var(--color-surface-card);border:1px solid var(--color-tab-active-bg);color:var(--color-cta-bg)}.yarn-library .export-collection-btn:hover{background-color:var(--color-tab-active-bg);color:#fff}.yarn-library .content-body{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow-y:auto}.yarn-library .yarn-filters-bar{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.yarn-library .yarn-category-pills{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.yarn-library .yarn-category-pill{align-items:center;background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:50px;border-radius:var(--radius-pill,50px);color:#666;color:var(--color-tab-inactive-text,#666);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;min-height:44px;padding:10px 20px;transition:all .12s ease}.yarn-library .yarn-category-pill:hover{background:#f5f5f0;background:var(--color-surface-search,#f5f5f0);color:#333;color:var(--color-text-primary,#333)}.yarn-library .yarn-category-pill.active{background:var(--color-tab-active-bg);border-color:var(--color-tab-active-bg);color:#fff;color:var(--color-tab-active-text,#fff)}.yarn-library .pill-icon{font-size:16px}.yarn-library .pill-label{font-weight:500}.yarn-library .pill-count{font-size:12px;opacity:.8}.yarn-library .yarn-brand-filters{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.yarn-library .brand-filter-label{color:#666;font-size:13px;font-weight:600;margin-right:4px}.yarn-library .yarn-brand-chip{align-items:center;background:#fff;background:var(--color-surface-card,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-border-subtle,#e5e7eb);border-radius:50px;border-radius:var(--radius-pill,50px);cursor:pointer;display:flex;font-size:13px;gap:6px;padding:6px 14px;transition:all .15s ease}.yarn-library .yarn-brand-chip:hover{background:#f5f5f0;background:var(--color-surface-search,#f5f5f0);border-color:var(--color-tab-active-bg)}.yarn-library .yarn-brand-chip input[type=checkbox]{accent-color:#6c634b;accent-color:var(--color-tab-active-bg,#6c634b);cursor:pointer;height:14px;width:14px}.yarn-library .yarn-brand-chip .chip-text{color:#555;font-weight:500}.yarn-library .library-main{flex:1 1;overflow-y:auto;padding:24px 32px 32px}.yarn-library .empty-state{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:80px 32px;text-align:center}.yarn-library .empty-icon{font-size:64px;margin-bottom:24px;opacity:.6}.yarn-library .empty-state h3{color:#333;font-size:24px;font-weight:600;margin-bottom:8px}.yarn-library .empty-state p{color:#666;font-size:16px;margin-bottom:32px}.yarn-library .add-first-yarn-btn{background-color:#8b4b9b;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:background-color .2s ease}.yarn-library .add-first-yarn-btn:hover{background-color:#7a4089}.yarn-library .error-state,.yarn-library .loading-state{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:80px 32px;text-align:center}.yarn-library .loading-spinner{animation:spin 2s linear infinite}.yarn-library .error-icon,.yarn-library .loading-spinner{font-size:64px;margin-bottom:24px;opacity:.6}.yarn-library .error-state h3,.yarn-library .loading-state h3{color:#333;font-size:24px;font-weight:600;margin-bottom:8px}.yarn-library .error-state p,.yarn-library .loading-state p{color:#666;font-size:16px;margin-bottom:32px}.yarn-library .retry-btn{background-color:#8b4b9b;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:background-color .2s ease}.yarn-library .retry-btn:hover{background-color:#7a4089}.yarn-library .yarns-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.yarn-library .yarn-card{background-color:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-flat);overflow:hidden;transition:all .15s ease}.yarn-library .yarn-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.yarn-library .yarn-header{height:120px;position:relative}.yarn-library .yarn-swatch{height:100%;position:relative;width:100%}.yarn-library .yarn-texture-overlay{background:linear-gradient(45deg,#0000 40%,#ffffff1a 50%,#0000 60%);bottom:0;left:0;position:absolute;right:0;top:0}.yarn-library .yarn-texture-overlay[data-texture=fluffy]:before{background:radial-gradient(circle at 20% 20%,#ffffff4d 2px,#0000 0),radial-gradient(circle at 80% 80%,#ffffff4d 2px,#0000 0),radial-gradient(circle at 40% 60%,#fff3 1px,#0000 0);background-size:30px 30px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.yarn-library .yarn-texture-overlay[data-texture=lustrous]:before{background:linear-gradient(45deg,#0000 30%,#fff6 50%,#0000 70%);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.yarn-library .yarn-texture-overlay[data-texture=fuzzy]:before{background:repeating-linear-gradient(45deg,#0000,#0000 2px,#ffffff1a 0,#ffffff1a 4px);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.yarn-library .stock-indicator{left:12px;position:absolute;top:12px}.yarn-library .stock-badge{border-radius:12px;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.yarn-library .stock-badge.in-stock{background-color:#28a745e6;color:#fff}.yarn-library .stock-badge.out-of-stock{background-color:#dc3545e6;color:#fff}.yarn-library .yarn-heart-btn{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffd9;border:none;border-radius:50%;box-shadow:0 1px 4px #0000001f;cursor:pointer;display:flex;font-size:18px;height:34px;justify-content:center;left:10px;padding:0;position:absolute;top:10px;transition:all .25s ease;width:34px;z-index:2}.yarn-library .yarn-heart-btn:hover{background:#fff;box-shadow:0 2px 8px #0000002e;transform:scale(1.18)}.yarn-library .yarn-heart-btn.favorited{animation:heart-pop .3s ease}@keyframes heart-pop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.yarn-library .yarn-actions{display:flex;gap:4px;opacity:0;position:absolute;right:12px;top:12px;transition:opacity .3s ease}.yarn-library .yarn-card:hover .yarn-actions{opacity:1}.yarn-library .action-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;padding:6px;transition:all .2s ease;width:28px}.yarn-library .action-btn:hover{background:#fff;transform:scale(1.1)}.yarn-library .yarn-info{padding:20px}.yarn-library .yarn-name{color:#333;font-size:18px;font-weight:600;margin:0 0 4px}.yarn-library .yarn-brand{color:#a3987c;font-size:14px;font-weight:500;margin-bottom:16px}.yarn-library .yarn-details{margin-bottom:16px}.yarn-library .detail-row{align-items:flex-start;display:flex;font-size:14px;gap:12px;justify-content:space-between;padding:6px 0}.yarn-library .detail-label{color:#666;flex-shrink:0;font-weight:500;min-width:120px}.yarn-library .detail-value{word-wrap:break-word;color:#333;flex:1 1;line-height:1.4;overflow-wrap:break-word;text-align:right}.yarn-library .price-row .detail-value.price{color:#6c5353;font-weight:600}.yarn-library .yarn-tags{display:flex;flex-wrap:wrap;gap:8px}.yarn-library .yarn-tag{background-color:#f1f3f4;border-radius:12px;color:#666;font-size:12px;font-weight:500;padding:4px 8px}.yarn-library .copy-notification{align-items:center;animation:slideInUp .3s ease;background-color:#8b4b9b;border-radius:8px;bottom:24px;box-shadow:0 4px 16px #0003;color:#fff;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;position:fixed;right:24px;z-index:1000}@keyframes slideInUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.yarn-library .copy-icon{font-size:16px}@media (max-width:1200px){.yarn-library .library-sidebar{width:280px}.yarn-library .yarns-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:1024px){.yarn-library .content-body{flex-direction:column}.yarn-library .library-sidebar{border-bottom:1px solid #e9ecef;border-right:none;padding:20px 32px;width:100%}.yarn-library .category-list{flex-direction:row;flex-wrap:wrap;gap:8px;margin-bottom:20px}.yarn-library .filter-section{border-left:1px solid #e9ecef;border-top:none;margin-left:20px;padding-left:20px;padding-top:0}.yarn-library .yarns-grid{gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.yarn-library .content-header{padding:16px 20px}.yarn-library .search-section{flex-direction:column;gap:16px}.yarn-library .search-bar{max-width:none;min-width:auto}.yarn-library .header-buttons{justify-content:stretch;width:100%}.yarn-library .add-yarn-btn,.yarn-library .export-collection-btn{flex:1 1}.yarn-library .library-sidebar{padding:16px 20px}.yarn-library .filter-section{border-left:none;border-top:1px solid #e9ecef;margin-left:0;margin-top:16px;padding-left:0;padding-top:16px}.yarn-library .library-main{padding:20px}.yarn-library .yarns-grid{gap:16px;grid-template-columns:1fr}.yarn-library .copy-notification{bottom:16px;left:16px;right:16px;text-align:center}}@media (max-width:480px){.yarn-library .yarn-card{border-radius:12px}.yarn-library .yarn-info{padding:16px}.yarn-library .yarn-name{font-size:16px}.yarn-library .yarn-header{height:100px}.yarn-library .detail-row{font-size:13px}.yarn-library .yarn-tag{font-size:11px}}.yarn-library .yarn-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.yarn-library .yarn-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:800px;overflow:hidden;width:90vw}.yarn-library .yarn-modal-header{align-items:center;background:linear-gradient(135deg,#dbd5c5,#b4af94);border-bottom:1px solid #e9ecef;color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:24px}.yarn-library .yarn-modal-header h2{font-size:24px;font-weight:600;margin:0}.yarn-library .close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:4px;transition:background-color .2s ease;width:32px}.yarn-library .close-btn:hover{background-color:#fff3}.yarn-library .yarn-modal-content{flex:1 1;min-height:0;overflow-y:auto;padding:24px}.yarn-library .yarn-modal-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.yarn-library .modal-field{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:12px}.yarn-library .modal-field.modal-field-full{grid-column:1/-1}.yarn-library .modal-field strong{color:#6c5353;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.yarn-library .modal-field span{word-wrap:break-word;color:#333;font-size:16px;overflow-wrap:break-word}@media (max-width:768px){.yarn-library .yarn-modal{max-height:90vh;width:95vw}.yarn-library .yarn-modal-grid{gap:12px;grid-template-columns:1fr}.yarn-library .yarn-modal-header{padding:16px}.yarn-library .yarn-modal-header h2{font-size:20px}.yarn-library .yarn-modal-content{padding:16px}}.yarn-library .add-yarn-modal{max-width:900px}.yarn-library .add-yarn-form{display:flex;flex-direction:column;gap:16px}.yarn-library .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.yarn-library .form-row.full-width{grid-template-columns:1fr}.yarn-library .form-group{display:flex;flex-direction:column;gap:6px}.yarn-library .form-group label{color:#555;font-size:13px;font-weight:600}.yarn-library .form-group input,.yarn-library .form-group select,.yarn-library .form-group textarea{border:1px solid #ddd;border-radius:8px;font-size:14px;padding:10px 12px;transition:border-color .2s}.yarn-library .form-group input:focus,.yarn-library .form-group select:focus,.yarn-library .form-group textarea:focus{border-color:#6c634b;outline:none}.yarn-library .form-group textarea{min-height:80px;resize:vertical}.yarn-library .yarn-modal-footer{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;flex-shrink:0;gap:16px;justify-content:flex-end;padding:16px 24px}.yarn-library .modal-icon-btn{background:none;border:none;border-radius:50%;cursor:pointer;font-size:22px;line-height:1;opacity:.8;padding:6px;transition:transform .2s ease,opacity .2s ease}.yarn-library .modal-icon-btn:hover{opacity:1;transform:scale(1.25)}.yarn-library .modal-icon-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}.yarn-library .cancel-btn,.yarn-library .close-btn-large,.yarn-library .delete-btn-large,.yarn-library .save-btn{border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s}.yarn-library .cancel-btn{background:#fff;border:1px solid #ddd;color:#666}.yarn-library .cancel-btn:hover{background:#f1f3f4}.yarn-library .save-btn{background:var(--color-tab-active-bg);border:none;color:#fff}.yarn-library .save-btn:hover:not(:disabled){background:var(--color-cta-hover)}.yarn-library .save-btn:disabled{cursor:not-allowed;opacity:.6}.yarn-library .edit-btn-large{background:#dcd1b3;border:1px solid #c9bd9e;border-radius:8px;color:#5a5440;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s}.yarn-library .edit-btn-large:hover{background:#c9bd9e;color:#4a4535}.yarn-library .delete-btn-large{background:#dc3545;border:none;color:#fff}.yarn-library .delete-btn-large:hover:not(:disabled){background:#c82333}.yarn-library .delete-btn-large:disabled{cursor:not-allowed;opacity:.6}.yarn-library .close-btn-large{background:var(--color-tab-active-bg);border:none;color:#fff}.yarn-library .close-btn-large:hover{background:var(--color-cta-hover)}.yarn-library .favorites-filter-btn{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease;white-space:nowrap}.yarn-library .favorites-filter-btn:hover{background-color:#fff5f5;border-color:#d4838a;color:#d4838a}.yarn-library .favorites-filter-btn.active{background-color:#d4838a;border-color:#d4838a;color:#fff}.yarn-library .favorites-filter-btn.active:hover{background-color:#c06e76;border-color:#c06e76}.yarn-library .favorite-btn-large{background:#fff;border:1px solid #e9ecef;border-radius:8px;color:#666;cursor:pointer;font-size:14px;font-weight:500;margin-right:auto;padding:12px 24px;transition:all .2s}.yarn-library .favorite-btn-large:hover{background:#fff5f5;border-color:#d4838a;color:#d4838a}.yarn-library .favorite-btn-large.favorited{background:#d4838a;border-color:#d4838a;color:#fff}.yarn-library .favorite-btn-large.favorited:hover{background:#c06e76;border-color:#c06e76}.yarn-library .error-toast{align-items:center;background:#fee;border:1px solid #fcc;border-radius:8px;bottom:24px;box-shadow:0 4px 16px #00000026;color:#c00;display:flex;gap:12px;left:50%;padding:12px 24px;position:fixed;transform:translateX(-50%);z-index:1100}.yarn-library .error-toast button{background:none;border:none;color:#c00;cursor:pointer;font-size:18px;padding:0}.yarn-library .yarn-swatch-image{overflow:hidden}.yarn-library .yarn-card-image{display:block;height:100%;object-fit:cover;width:100%}.yarn-library .yarn-images-section{border-top:1px solid #e9ecef;margin-top:24px;padding-top:20px}.yarn-library .yarn-images-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.yarn-library .yarn-images-header h3{color:#333;font-size:16px;font-weight:600;margin:0}.yarn-library .upload-image-btn{align-items:center;background:#6c634b;background:var(--color-tab-active-bg,#6c634b);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.yarn-library .upload-image-btn:hover{background:#5a5440;background:var(--color-cta-bg,#5a5440);transform:translateY(-1px)}.yarn-library .yarn-images-gallery{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.yarn-library .yarn-image-item{aspect-ratio:1;background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;overflow:hidden;position:relative;transition:transform .15s ease,box-shadow .15s ease}.yarn-library .yarn-image-item:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.yarn-library .yarn-gallery-image{display:block;height:100%;object-fit:cover;width:100%}.yarn-library .yarn-image-placeholder{align-items:center;background:#f0f0f0;color:#ccc;display:flex;font-size:32px;height:100%;justify-content:center;width:100%}.yarn-library .yarn-image-overlay{align-items:center;background:linear-gradient(#0000,#000000b3);bottom:0;display:flex;justify-content:space-between;left:0;opacity:0;padding:24px 8px 8px;position:absolute;right:0;transition:opacity .2s ease}.yarn-library .yarn-image-item:hover .yarn-image-overlay{opacity:1}.yarn-library .yarn-image-filename{color:#fff;font-size:11px;max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yarn-library .yarn-image-delete-btn{align-items:center;background:#dc3545d9;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;height:26px;justify-content:center;transition:all .15s ease;width:26px}.yarn-library .yarn-image-delete-btn:hover{background:#dc3545;transform:scale(1.1)}.yarn-library .yarn-image-delete-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.yarn-library .yarn-images-empty{background:#f8f9fa;border:2px dashed #ddd;border-radius:10px;color:#888;font-size:14px;padding:24px;text-align:center}@media (max-width:768px){.yarn-library .yarn-images-gallery{gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.yarn-library .yarn-images-header{align-items:flex-start;flex-direction:column;gap:8px}}.yarn-library .hourglass-loading{animation:hourglass-flip 2s ease-in-out infinite;display:inline-block;font-size:64px;margin-bottom:16px}.yarn-library .hourglass-loading:before{content:"⏳"}@keyframes hourglass-flip{0%{transform:rotate(0deg)}50%{transform:rotate(180deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.yarn-library .form-row{grid-template-columns:1fr}.yarn-library .yarn-modal-footer{flex-direction:column;padding:16px}.yarn-library .cancel-btn,.yarn-library .close-btn-large,.yarn-library .delete-btn-large,.yarn-library .save-btn{width:100%}}.designs-by-month{gap:32px}.designs-by-month,.month-section{display:flex;flex-direction:column}.month-section{gap:16px}.month-header{align-items:center;background:linear-gradient(135deg,var(--color-cta-bg) 0,var(--color-tab-active-bg) 100%);border-radius:8px;box-shadow:0 2px 6px #0000001a;color:#fff;display:flex;font-size:20px;font-weight:600;gap:12px;margin:0;padding:12px 20px}.month-count{background:#fff3;border-radius:12px;font-size:14px;font-weight:500;margin-left:auto;padding:4px 12px}.recently-uploaded-section{background:linear-gradient(135deg,#fff9f0,#fff5e6);border:2px solid #ffe4b3;border-radius:12px;margin-bottom:32px;padding:24px}.section-title{align-items:center;display:flex;font-size:20px;font-weight:600;gap:10px}.section-icon{font-size:24px}.recently-uploaded-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.recent-design-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.recent-design-card:hover{border-color:#a3987c;box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.recent-design-preview{align-items:center;background:#f5f5f5;display:flex;height:140px;justify-content:center;overflow:hidden;width:100%}.recent-design-preview img{height:100%;object-fit:cover;width:100%}.recent-design-info{flex:1 1;padding:12px}.recent-design-name{color:#333;font-size:14px;font-weight:600;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-designer-name{color:#666;font-size:12px;margin:0 0 4px}.recent-time{color:#999;font-size:11px;font-weight:500}.recent-design-actions{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:8px;padding:12px}.action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:16px;justify-content:center;padding:8px 12px;transition:all .2s ease}.view-btn-small{background:#a3987c;color:#fff}.view-btn-small:hover{background:#8b7a5c;transform:scale(1.05)}.download-btn-small{background:#8b8b7a;color:#fff}.download-btn-small:hover{background:#6d6d5c;transform:scale(1.05)}.team-designs-page{background-color:var(--color-surface-primary);min-height:100vh}.header-title{margin-bottom:24px}.header-title h1{color:#333;font-size:28px;font-weight:600;margin:0 0 8px}.header-title p{color:#666;font-size:16px;margin:0}.search-and-filters{display:flex;flex-direction:column;gap:16px}.filters-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.filter-select{background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:14px;outline:none;padding:8px 12px}.filter-select:focus{border-color:#6c634b;box-shadow:0 0 0 2px #6c634b1a}.favorites-filter-btn{align-items:center;background-color:#fff;border:1px solid #8b8b7a;border-radius:6px;color:#8b8b7a;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;outline:none;padding:8px 16px;transition:all .2s ease}.favorites-filter-btn:hover{background-color:#f8f9fa;border-color:#a3987c}.favorites-filter-btn.active{background-color:#a3987c;border-color:#a3987c;color:#fff}.view-toggle{border:1px solid #e0e0e0;border-radius:6px;display:flex;margin-left:auto;overflow:hidden}.view-btn{background:#fff;border:none;border-right:1px solid #e0e0e0;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:8px 12px;transition:all .2s ease}.view-btn:last-child{border-right:none}.view-btn.active{background-color:var(--color-tab-active-bg);color:#fff}.view-btn:hover:not(.active){background-color:#f8f9fa}.empty-state{color:#666;padding:80px 32px}.empty-icon{margin-bottom:24px}.empty-state h3{font-weight:500}.empty-state p{margin:0 auto 32px;max-width:400px}.clear-filters-btn{background-color:#a3987c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:background-color .2s ease}.clear-filters-btn:hover{background-color:#8b7c6a}.team-designs-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.team-design-card{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-flat);overflow:hidden;transition:all .15s ease}.team-design-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.design-preview{align-items:center;background-color:#f8f9fa;display:flex;height:150px;justify-content:center;overflow:hidden;position:relative;width:100%}.design-preview img{height:100%;object-fit:cover;transition:transform .2s ease;width:100%}.team-design-card:hover .design-preview img{transform:scale(1.05)}.file-icon{color:#666;font-size:48px}.design-overlay{align-items:center;background:#0009;bottom:0;display:flex;gap:12px;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease}.team-design-card:hover .design-overlay{opacity:1}.view-btn-overlay{background:#fff;border:none;border-radius:6px;color:#333;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.view-btn-overlay:hover{background:#f8f9fa}.export-dropdown{display:inline-block;position:relative}.export-btn-overlay{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.export-btn-overlay:hover{background:#218838}.export-dropdown-list{display:inline-block;position:relative}.export-btn-list{align-items:center;background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:4px;padding:8px 16px;transition:all .2s ease}.export-btn-list:hover{background:#218838}.export-menu{background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;left:0;min-width:140px;opacity:0;pointer-events:none;position:absolute;right:0;top:100%;transform:translateY(-8px);transition:all .2s ease;z-index:1000}.export-dropdown-list:hover .export-menu,.export-dropdown:hover .export-menu{opacity:1;pointer-events:all;transform:translateY(0)}.export-menu button{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 12px;text-align:left;transition:background-color .2s ease;width:100%}.export-menu button:first-child{border-radius:6px 6px 0 0}.export-menu button:last-child{border-radius:0 0 6px 6px}.export-menu button:hover{background-color:#f8f9fa}.export-menu button:active{background-color:#e9ecef}.design-info{padding:16px}.design-name{color:#333;font-size:16px;font-weight:500;margin:0 0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.designer-info{flex-wrap:wrap;margin-bottom:12px}.designer-info,.designer-name-wrapper{align-items:center;display:flex;gap:8px}.designer-name{color:#666;font-size:14px;gap:4px}.designer-name,.favorite-btn{align-items:center;display:flex}.favorite-btn{background:none;border:none;border-radius:4px;color:#999;cursor:pointer;font-size:16px;justify-content:center;line-height:1;padding:2px 4px;transition:all .2s ease}.favorite-btn:hover{background-color:#0000000d;transform:scale(1.1)}.favorite-btn.favorited{color:#ffc107}.favorite-btn.favorited:hover{background-color:#ffc1071a}.design-heart-btn{align-items:center;background:#ffffffe6;border:none;border-radius:50%;box-shadow:0 2px 6px #0000001a;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;position:absolute;right:12px;top:12px;transition:all .2s ease;width:36px;z-index:10}.design-heart-btn:hover{background:#fff;box-shadow:0 4px 12px #00000026;transform:scale(1.1)}.design-heart-btn.favorited{background:#fff}.design-heart-btn-list{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:20px;justify-content:center;margin-right:8px;padding:4px 8px;transition:all .2s ease}.design-heart-btn-list:hover{background-color:#0000000d;transform:scale(1.1)}.design-heart-btn-list.favorited:hover{background-color:#ff00001a}.department-badge{border-radius:12px;color:#fff;font-size:12px;font-weight:500;padding:2px 8px}.design-meta{align-items:center;color:#999;display:flex;font-size:12px;justify-content:space-between}.team-designs-list{background:#e9ecef;border-radius:8px;display:flex;flex-direction:column;gap:1px;overflow:hidden}.team-design-row{align-items:center;background:#fff;display:flex;gap:16px;padding:16px;transition:background-color .2s ease}.design-thumbnail,.team-design-row:hover{background-color:#f8f9fa}.design-thumbnail{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:48px;justify-content:center;overflow:hidden;width:48px}.design-thumbnail img{height:100%;object-fit:cover;width:100%}.file-icon-small{color:#666;font-size:24px}.design-details{flex:1 1;min-width:0}.design-details .design-name{font-size:16px;font-weight:500;margin:0 0 6px}.design-meta-row{align-items:center;color:#666;display:flex;flex-wrap:wrap;font-size:14px;gap:16px}.design-meta-row .designer-name{align-items:center;display:flex;gap:4px}.design-actions{flex-shrink:0}.design-actions .view-btn{align-items:center;background:#a3987c;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:4px;padding:8px 16px;transition:background-color .2s ease}.design-actions .view-btn:hover{background:#8b7c6a}@media (max-width:768px){.content-header{padding:16px 20px}.content-body{padding:20px}.header-title h1{font-size:24px}.team-designs-grid{gap:16px;grid-template-columns:1fr}.filters-row{align-items:stretch;flex-direction:column;gap:12px}.view-toggle{align-self:flex-start;margin-left:0}.design-meta-row{gap:8px}.design-meta-row,.team-design-row{align-items:flex-start;flex-direction:column}.team-design-row{gap:12px}.design-thumbnail{height:100px;width:100%}.design-actions{width:100%}.design-actions .view-btn{justify-content:center;width:100%}}@media (max-width:480px){.content-header{padding:12px 16px}.content-body{padding:16px}.search-bar{max-width:100%}.designer-info{align-items:flex-start;flex-direction:column;gap:6px}}.designer-folders{display:flex;flex-direction:column;gap:20px}.designer-folder{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.designer-folder-header{align-items:center;background:var(--color-cta-bg);color:#fff;cursor:pointer;display:flex;gap:12px;padding:16px 20px;transition:all .2s ease}.designer-folder-header:hover{background:var(--color-cta-hover)}.folder-icon{flex-shrink:0;font-size:24px}.folder-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.folder-designer-name{align-items:center;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0}.folder-designer-name .favorite-btn{align-items:center;background:#fff3;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;transition:all .2s ease;width:28px}.folder-designer-name .favorite-btn:hover{background:#ffffff4d;transform:scale(1.1)}.folder-designer-name .favorite-btn.favorited{background:#ffd7004d}.folder-meta{align-items:center;display:flex;font-size:14px;gap:12px}.design-count{background:#fff3;border-radius:12px;font-weight:500;padding:4px 12px}.expand-icon{flex-shrink:0;font-size:16px;transition:transform .2s ease}.designer-folder-header:hover .expand-icon{transform:translateX(2px)}.folder-contents{background:#f8f9fa;padding:8px}.folder-item{align-items:center;background:#fff;border-radius:6px;cursor:pointer;display:flex;gap:12px;margin-bottom:4px;padding:8px 12px;transition:all .2s ease}.folder-item:hover{background:#f0f0f0;transform:translateX(2px)}.folder-item-thumbnail{align-items:center;background:#e9ecef;border-radius:6px;display:flex;flex-shrink:0;height:72px;justify-content:center;overflow:hidden;width:72px}.folder-item-thumbnail img{height:100%;object-fit:cover;width:100%}.folder-item-icon{font-size:24px}.folder-item-info{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.folder-item-name-row{align-items:center;display:flex;gap:8px}.folder-item-name{color:#333;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-item-meta{color:#999;font-size:12px;gap:12px}.folder-item-actions,.folder-item-date,.folder-item-meta,.folder-item-size{align-items:center;display:flex}.folder-item-actions{flex-shrink:0;gap:8px}.folder-item-heart,.folder-item-view{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:18px;justify-content:center;padding:4px 8px;transition:all .2s ease}.folder-item-heart:hover,.folder-item-view:hover{background:#0000000d;transform:scale(1.1)}.folder-item-heart.favorited{color:#e74c3c}.designer-folders-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.designer-folder-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;overflow:hidden;transition:all .2s ease}.designer-folder-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.designer-folder-card-header{align-items:center;background:var(--color-cta-bg);color:#fff;display:flex;gap:10px;padding:10px 12px}.folder-card-icon{flex-shrink:0;font-size:24px}.folder-card-designer-name{align-items:center;display:flex;flex:1 1;font-size:16px;font-weight:600;gap:6px;margin:0}.folder-card-designer-name .favorite-btn{align-items:center;background:#fff3;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:24px;justify-content:center;transition:all .2s ease;width:24px}.folder-card-designer-name .favorite-btn:hover{background:#ffffff4d;transform:scale(1.1)}.folder-card-designer-name .favorite-btn.favorited{background:#ffd7004d}.folder-card-meta{align-items:center;display:flex;flex-shrink:0;font-size:12px;gap:8px}.folder-card-preview{align-items:center;background:#f8f9fa;cursor:pointer;display:flex;height:200px;justify-content:center;overflow:hidden;position:relative;width:100%}.folder-card-preview img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.designer-folder-card:hover .folder-card-preview img{transform:scale(1.05)}.folder-preview-icon{color:#999;font-size:64px}.folder-preview-overlay{background:linear-gradient(0deg,#000c,#0000);bottom:0;color:#fff;font-size:14px;font-weight:500;left:0;opacity:0;padding:16px;position:absolute;right:0;text-align:center;transition:opacity .3s ease}.designer-folder-card:hover .folder-preview-overlay{opacity:1}.designer-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.designer-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:100%}.designer-modal-header{align-items:center;background:var(--color-cta-bg);border-bottom:1px solid var(--color-border-subtle);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.designer-modal-header h2{font-size:24px;font-weight:600;margin:0}.modal-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.modal-close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.designer-modal-content{flex:1 1;overflow-y:auto;padding:24px}.designer-modal-content::-webkit-scrollbar{width:8px}.designer-modal-content::-webkit-scrollbar-track{background:#f1f1f1}.designer-modal-content::-webkit-scrollbar-thumb{background:#a3987c;border-radius:4px}.designer-modal-content::-webkit-scrollbar-thumb:hover{background:#8b7c6a}.modal-design-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:16px;margin-bottom:12px;padding:16px;transition:all .2s ease}.modal-design-item:hover{background:#f8f9fa;box-shadow:0 2px 8px #00000014}.modal-design-thumbnail{align-items:center;background:#e9ecef;border-radius:8px;display:flex;flex-shrink:0;height:100px;justify-content:center;overflow:hidden;width:100px}.modal-design-thumbnail img{height:100%;object-fit:cover;width:100%}.modal-design-icon{color:#999;font-size:40px}.modal-design-info{flex:1 1;min-width:0}.modal-design-name-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.modal-design-name{color:#333;font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-design-meta{color:#999;display:flex;font-size:14px;gap:16px}.modal-design-actions{display:flex;flex-shrink:0;gap:8px}.modal-heart-btn,.modal-view-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.modal-heart-btn{background:#f8f9fa;color:#666}.modal-heart-btn:hover{background:#e9ecef;transform:scale(1.05)}.modal-heart-btn.favorited{color:#e74c3c}.modal-view-btn{background:#a3987c;color:#fff}.modal-view-btn:hover{background:#8b7c6a}.modal-download-btn{align-items:center;background:#8b8b7a;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.modal-download-btn:hover{background:#6d6d5c}.recently-uploaded-section-bottom{background:linear-gradient(135deg,#fff9f0,#fff5e6);border:1px solid #ffe4b3;border-radius:8px;margin-top:32px;padding:16px 20px}.section-title-small{align-items:center;color:#333;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 12px}.section-icon-small{font-size:18px}.recently-uploaded-grid-small{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.recent-design-card-small{background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.recent-design-card-small:hover{border-color:#a3987c;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.recent-design-preview-small{align-items:center;background:#f5f5f5;display:flex;height:100px;justify-content:center;overflow:hidden;width:100%}.recent-design-preview-small img{height:100%;object-fit:cover;width:100%}.file-icon-small-preview{color:#999;font-size:36px}.recent-design-info-small{display:flex;flex:1 1;flex-direction:column;gap:4px;padding:8px}.recent-design-name-small{color:#333;font-size:12px;font-weight:600;line-height:1.2}.recent-design-name-small,.recent-designer-name-small{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-designer-name-small{color:#666;font-size:10px}.recent-time-small{color:#999;font-size:10px;font-weight:500}.recent-design-actions-small{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;justify-content:center;padding:6px}.action-btn-tiny{align-items:center;background:#a3987c;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:4px 8px;transition:all .2s ease}.action-btn-tiny:hover{background:#8b7a5c;transform:scale(1.05)}@media (max-width:768px){.recently-uploaded-grid-small{gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.recently-uploaded-section-bottom{padding:12px 16px}}@media (max-width:480px){.recently-uploaded-grid-small{grid-template-columns:repeat(2,1fr)}}.patterns-page{background-color:#f8f9fa;display:flex;flex-direction:column;height:100%}.mode-toggle-container{margin-bottom:24px}.mode-toggle{background:#e8e4df;border-radius:32px;display:inline-flex;gap:2px;padding:4px}.mode-toggle-btn{background:#0000;border:none;border-radius:28px;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:8px 24px;transition:background .2s,color .2s}.mode-toggle-btn:hover{color:#333}.mode-toggle-btn--active{background:#fff;box-shadow:0 1px 4px #0000001f;color:#333}.page-title-section{max-width:800px}.page-title{align-items:center;color:#333;display:flex;font-size:28px;font-weight:700;gap:12px;margin:0 0 8px}.title-icon{font-size:32px}.page-subtitle{color:#666;font-size:16px;line-height:1.4;margin:0}.pattern-generator-container{max-width:none}.input-section{background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;margin-bottom:32px;padding:32px}.pattern-form{max-width:700px}.form-group{margin-bottom:24px}.form-label{color:#333;display:block;font-size:16px;font-weight:600;margin-bottom:8px}.pattern-name-input{border:2px solid #e0e0e0;border-radius:12px;font-family:inherit;font-size:15px;padding:14px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.pattern-name-input:focus{border-color:#a3987c;box-shadow:0 0 0 3px #a3987c1a;outline:none}.pattern-name-input::placeholder{color:#999}.pattern-name-input:disabled{background-color:#f8f9fa;cursor:not-allowed}.pattern-textarea{border:2px solid #e0e0e0;border-radius:12px;font-family:inherit;font-size:15px;line-height:1.6;min-height:120px;padding:16px;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.pattern-textarea:focus{border-color:#a3987c;box-shadow:0 0 0 3px #a3987c1a;outline:none}.pattern-textarea:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.character-count{color:#999;font-size:12px;margin-top:4px;text-align:right}.ref-images-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.ref-image-thumb{border:1.5px solid #e0d8cc;border-radius:8px;cursor:pointer;flex-shrink:0;height:60px;overflow:hidden;position:relative;width:60px}.ref-image-thumb:hover{border-color:#a3987c}.ref-thumb-img{display:block;height:100%;object-fit:cover;width:100%}.ref-thumb-remove{align-items:center;background:#0000008c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:11px;height:18px;justify-content:center;line-height:1;padding:0;position:absolute;right:2px;top:2px;transition:background .15s;width:18px}.ref-thumb-remove:hover:not(:disabled){background:#dc3545d9}.ref-thumb-remove:disabled{cursor:not-allowed;opacity:.4}.ref-thumb-label{bottom:2px;color:#fff;font-size:10px;font-weight:700;left:4px;line-height:1;position:absolute;text-shadow:0 1px 2px #0009}.image-upload-section{width:100%}.image-upload-area{align-items:center;background:#fff;border:1.5px solid #e0d8cc;border-radius:10px;cursor:pointer;display:flex;height:56px;justify-content:center;position:relative;transition:border-color .2s ease,background .2s ease;width:100%}.image-upload-area:hover{background:#faf8f5;border-color:#a3987c}.image-input{cursor:pointer;height:100%;opacity:0;position:absolute;width:100%}.upload-placeholder{color:#6c757d;pointer-events:none;text-align:center}.upload-icon{display:block;font-size:32px;margin-bottom:8px}.upload-placeholder p{line-height:1.4;margin:0}.upload-placeholder p:first-of-type{color:#333;font-weight:500;margin-bottom:4px}.upload-hint{color:#999;font-size:12px}.image-preview-container{border-radius:12px;box-shadow:0 2px 8px #0000001a;max-width:300px;overflow:hidden;position:relative;width:100%}.image-preview{display:block;height:180px;object-fit:cover;width:100%}.image-actions{background:linear-gradient(#0000,#000000b3);bottom:0;display:flex;gap:8px;left:0;padding:16px 12px 12px;position:absolute;right:0}.change-image-btn,.remove-image-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:4px;padding:6px 12px;text-decoration:none;transition:all .2s ease}.remove-image-btn{background:#dc3545e6;color:#fff}.remove-image-btn:hover:not(:disabled){background:#c82333f2}.remove-image-btn:disabled{background:#6c757db3;cursor:not-allowed}.change-image-btn{background:#a3987ce6;color:#fff}.change-image-btn:hover{background:#8b8b7af2}.form-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.generate-btn,.new-pattern-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;overflow:hidden;padding:14px 28px;position:relative;transition:all .2s ease}.generate-btn{background:linear-gradient(135deg,#a3987c,#8b8b7a);box-shadow:0 4px 12px #a3987c4d;color:#fff}.generate-btn:hover:not(:disabled){box-shadow:0 6px 20px #a3987c66;transform:translateY(-2px)}.generate-btn:disabled{background:#e9ecef;box-shadow:none;color:#6c757d;cursor:not-allowed;transform:none}.generate-btn.generating{background:#6c757d;cursor:not-allowed}.new-pattern-btn{background:#fff;border:2px solid #a3987c;color:#a3987c}.new-pattern-btn:hover:not(:disabled){background:#a3987c;color:#fff;transform:translateY(-2px)}.new-pattern-btn:disabled{background:#f8f9fa;border-color:#e9ecef;color:#6c757d;cursor:not-allowed}.loading-spinner{border:2px solid #0000;border-top-color:currentcolor;height:16px;width:16px}.status-message{align-items:center;border-radius:10px;display:flex;font-weight:500;gap:12px;margin-top:20px;padding:16px 20px;position:relative}.error-message{background-color:#fff5f5;border:1px solid #fed7d7;color:#c53030}.success-message{background-color:#f0fff4;border:1px solid #9ae6b4;color:#2f855a}.close-status,.status-icon{font-size:18px}.close-status{background:none;border:none;border-radius:4px;color:inherit;cursor:pointer;opacity:.7;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.close-status:hover{background-color:#0000000d;opacity:1}.results-section{background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;overflow:hidden}.results-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:24px 32px}.results-title{color:#333;font-size:20px;font-weight:600;margin:0}.clear-results-btn{align-items:center;background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:background-color .2s ease}.clear-results-btn:hover:not(:disabled){background:#c82333}.clear-results-btn:disabled{background:#6c757d;cursor:not-allowed}.patterns-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));padding:32px}.pattern-card{background:#fff;border:1px solid #e9ecef;border-radius:16px;box-shadow:0 2px 8px #0000000f;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.pattern-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.pattern-image-container{align-items:center;background:#f8f9fa;display:flex;height:250px;justify-content:center;overflow:hidden;width:100%}.pattern-image{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.pattern-card:hover .pattern-image{transform:scale(1.05)}.pattern-load-error{align-items:center;color:#6c757d;display:flex;flex-direction:column;font-size:14px;height:100%;justify-content:center}.pattern-load-error span{font-size:48px;margin-bottom:8px}.pattern-info{padding:20px}.pattern-name{color:#333;font-size:18px;font-weight:600;margin:0 0 8px}.pattern-prompt{background:#f8f9fa;border-left:3px solid #a3987c;border-radius:6px;color:#666;font-size:14px;font-style:italic;line-height:1.4;margin:0 0 12px;padding:8px 12px}.pattern-metadata{margin:12px 0}.pattern-filename{background:#f1f3f4;border-radius:4px;color:#999;display:inline-block;font-size:12px;padding:4px 8px}.pattern-actions{display:flex;gap:8px;margin-top:16px}.download-btn,.view-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:10px 12px;transition:all .2s ease}.view-btn{background:#a3987c;color:#fff}.view-btn:hover{background:#8b8b7a;transform:translateY(-1px)}.download-btn{background:#fff;border:1px solid #28a745;color:#28a745}.download-btn:hover{background:#28a745;color:#fff;transform:translateY(-1px)}.save-pattern-btn{align-items:center;background:linear-gradient(135deg,#a3987c,#8b7a5c);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:10px 12px;transition:all .2s ease}.save-pattern-btn:hover{background:linear-gradient(135deg,#8b7a5c,#6d5f42);box-shadow:0 4px 12px #a3987c4d;transform:translateY(-1px)}.results-note{background:#fff5eb;border:1px solid #ffd9c2;border-radius:6px;color:#e67a35;font-size:14px;margin:0;padding:8px 12px}.empty-state{background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;padding:60px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:20px}.empty-state h3{color:#333;font-size:24px;font-weight:600;margin:0 0 12px}.empty-state p{color:#666;font-size:16px;line-height:1.5;margin:0 0 32px}.example-prompts{margin:0 auto;max-width:600px}.example-prompts p{color:#333;font-weight:600;margin-bottom:16px}.prompt-examples{align-items:center;display:flex;flex-direction:column;gap:8px}.example-prompt{background:#fff;border:1px solid #e9ecef;border-radius:8px;color:#666;cursor:pointer;font-size:14px;max-width:500px;padding:12px 20px;text-align:left;transition:all .2s ease;width:100%}.example-prompt:hover{background:#f8f9fa;border-color:#a3987c;color:#333;transform:translateY(-1px)}@media (max-width:768px){.content-header{padding:16px 20px}.content-body{padding:20px}.input-section{padding:24px 20px}.form-actions{align-items:stretch;flex-direction:column}.generate-btn,.new-pattern-btn{justify-content:center;width:100%}.results-header{align-items:flex-start;flex-direction:column;gap:16px}.patterns-grid{gap:20px;grid-template-columns:1fr;padding:20px}.pattern-actions{flex-direction:column}.prompt-examples{align-items:stretch}.example-prompt{max-width:none}}@media (max-width:480px){.page-title{font-size:24px}.page-subtitle{font-size:14px}.pattern-textarea{font-size:14px;min-height:100px}.generate-btn,.new-pattern-btn{font-size:14px;padding:12px 20px}.pattern-info,.patterns-grid{padding:16px}.empty-state{padding:40px 16px}.empty-icon{font-size:48px}}.pattern-modification{border-top:1px solid #e9ecef;margin-top:16px;padding-top:16px}.modification-input-group{display:flex;flex-direction:column;gap:8px}.modification-input{border:1px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:13px;padding:10px 12px;resize:none;transition:border-color .2s ease;width:100%}.modification-input:focus{border-color:#a3987c;outline:none}.modification-input:disabled{background-color:#f8f9fa;cursor:not-allowed}.modify-pattern-btn{align-items:center;background:#ff8b42;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:10px 16px;transition:all .2s ease}.modify-pattern-btn:hover:not(:disabled){background:#e67a35}.modify-pattern-btn:disabled{background:#ccc;cursor:not-allowed}.modifying-indicator{display:inline-flex;margin-left:8px}.saved-patterns-section{background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;margin-top:32px;overflow:hidden}.saved-patterns-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 24px}.saved-patterns-title{align-items:center;color:#333;display:flex;font-size:18px;font-weight:600;gap:10px;margin:0}.saved-patterns-actions{display:flex;gap:8px}.refresh-saved-btn,.toggle-saved-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease}.refresh-saved-btn:hover:not(:disabled),.toggle-saved-btn:hover{background:#f8f9fa;border-color:#a3987c;color:#333}.refresh-saved-btn:disabled{cursor:not-allowed;opacity:.6}.saved-patterns-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:24px}.loading-saved{align-items:center;color:#666;display:flex;font-size:14px;gap:12px;grid-column:1/-1;justify-content:center;padding:40px}.saved-pattern-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;overflow:hidden;transition:all .2s ease}.saved-pattern-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.saved-pattern-image-container{align-items:center;background:#f8f9fa;display:flex;height:160px;justify-content:center;overflow:hidden;width:100%}.saved-pattern-image{height:100%;object-fit:cover;width:100%}.saved-pattern-placeholder{align-items:center;color:#ccc;display:flex;font-size:48px;height:100%;justify-content:center;width:100%}.saved-pattern-info{padding:16px}.saved-pattern-name{color:#333;font-size:15px;font-weight:600;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-pattern-prompt{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:13px;font-style:italic;line-height:1.4;margin:0 0 8px;overflow:hidden}.saved-pattern-date{color:#999;display:block;font-size:12px;margin-bottom:12px}.saved-pattern-actions{display:flex}.saved-pattern-actions .build-print-btn,.saved-pattern-actions .confirm-delete-btn,.saved-pattern-actions .delete-draft-btn,.saved-pattern-actions .download-btn,.saved-pattern-actions .open-editor-btn,.saved-pattern-actions .view-btn{align-items:center;background:none;border:1px solid #d4c5a0;border-radius:6px;box-sizing:border-box;color:#6b5a3e;cursor:pointer;display:flex;flex:1 1;font-size:11px;font-weight:600;gap:4px;height:32px;justify-content:center;padding:7px 10px;transition:all .15s ease;white-space:nowrap}.saved-pattern-actions .view-btn{background:linear-gradient(135deg,#a3987c,#8b7a5c);border-color:#0000;color:#fff}.saved-pattern-actions .view-btn:hover{background:linear-gradient(135deg,#8b7a5c,#6d5f42)}.saved-pattern-actions .open-editor-btn{background:none;border-color:#d4c5a0;color:#5c5544}.saved-pattern-actions .open-editor-btn:hover:not(:disabled){background:#f8f6f0;border-color:#a3987c}.saved-pattern-actions .download-btn{background:none;border-color:#d4c5a0;color:#6b5a3e}.saved-pattern-actions .download-btn:hover{background:#f8f6f0;border-color:#a3987c;color:#2c1810}.saved-pattern-actions .build-print-btn{background:linear-gradient(135deg,#a3987c,#8b7a5c);border-color:#0000;box-shadow:none;color:#fff;padding:7px 10px}.saved-pattern-actions .build-print-btn:hover:not(:disabled){background:linear-gradient(135deg,#8b7a5c,#6d5f42);box-shadow:none;transform:none}.saved-pattern-actions .confirm-delete-btn,.saved-pattern-actions .delete-draft-btn{background:none;border-color:#d4c5a0;color:#8b2020;height:32px;width:auto}.saved-pattern-actions .confirm-delete-btn:hover,.saved-pattern-actions .delete-draft-btn:hover:not(:disabled){background:#fdf0f0;border-color:#e8c0c0;transform:none}@media (max-width:768px){.saved-patterns-header{align-items:flex-start;flex-direction:column;gap:12px}.saved-patterns-grid{grid-template-columns:1fr;padding:16px}}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.save-modal{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:480px;overflow:hidden;width:90%}.save-modal-header{align-items:center;background:linear-gradient(135deg,#a3987c,#8b8b7a);color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.save-modal-header h3{align-items:center;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0}.close-modal-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.close-modal-btn:hover{background:#ffffff4d}.save-modal-body{padding:24px}.save-modal-body p{color:#666;font-size:14px;margin:0 0 16px}.save-modal-body .form-group{margin-bottom:0}.save-modal-footer{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.cancel-btn{background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.cancel-btn:hover:not(:disabled){background:#f8f9fa;border-color:#ccc}.cancel-btn:disabled{cursor:not-allowed;opacity:.6}.confirm-save-btn{align-items:center;background:linear-gradient(135deg,#a3987c,#8b7a5c);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 24px;transition:all .2s ease}.confirm-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#8b7a5c,#6c634b);box-shadow:0 4px 12px #a3987c4d;transform:translateY(-1px)}.confirm-save-btn:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.drafts-section{background:linear-gradient(135deg,#f5f2ed,#ebe7dc);border:1px solid #e8e3d8;border-radius:16px;box-shadow:0 2px 12px #a3987c1a;margin-top:32px;overflow:hidden}.drafts-header{background:linear-gradient(135deg,#ebe7dc,#ddd6c3);border-bottom:1px solid #d4cab6;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:20px 24px}.drafts-header,.drafts-title{align-items:center;display:flex}.drafts-title{color:#5c5544;font-size:18px;font-weight:600;gap:10px;margin:0}.drafts-subtitle{background:#a3987c26;border-left:3px solid #a3987c;border-radius:6px;color:#7a6f5d;flex-basis:100%;font-size:13px;margin:4px 0 0;padding:8px 12px}.drafts-actions{display:flex;gap:8px}.refresh-drafts-btn,.toggle-drafts-btn{align-items:center;background:#fff;border:1px solid #d4cab6;border-radius:6px;color:#5c5544;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease}.refresh-drafts-btn:hover:not(:disabled),.toggle-drafts-btn:hover{background:#faf8f5;border-color:#a3987c;color:#5c5544}.refresh-drafts-btn:disabled{cursor:not-allowed;opacity:.6}.drafts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);padding:24px}.loading-drafts{align-items:center;color:#5c5544;display:flex;font-size:14px;gap:12px;grid-column:1/-1;justify-content:center;padding:40px}.draft-card{background:#fff;border:2px solid #e8e3d8;border-radius:16px;box-shadow:0 4px 12px #a3987c14;overflow:hidden;position:relative;transition:all .3s ease}.draft-card:hover{border-color:#a3987c;box-shadow:0 12px 32px #a3987c33;transform:translateY(-6px)}.draft-badge{background:linear-gradient(135deg,#a3987c,#8b7a5c);border-radius:20px;box-shadow:0 2px 8px #a3987c4d;color:#fff;font-size:11px;font-weight:600;left:12px;letter-spacing:.5px;padding:4px 12px;position:absolute;text-transform:uppercase;top:12px;z-index:1}.draft-image-container{align-items:center;background:linear-gradient(135deg,#faf8f5,#f5f2ed);display:flex;height:180px;justify-content:center;overflow:hidden;width:100%}.draft-image{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.draft-card:hover .draft-image{transform:scale(1.08)}.draft-placeholder{align-items:center;color:#ffd9c2;display:flex;font-size:48px;height:100%;justify-content:center;width:100%}.draft-info{padding:16px}.draft-name{color:#333;font-size:15px;font-weight:600;margin:0 0 8px}.draft-date{color:#999;display:block;font-size:12px;margin-bottom:12px}.draft-actions,.save-draft-btn{align-items:center;display:flex;gap:8px}.save-draft-btn{background:linear-gradient(135deg,#a3987c,#8b7a5c);border:none;border-radius:10px;box-shadow:0 4px 12px #a3987c40;color:#fff;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;justify-content:center;padding:12px 16px;transition:all .3s ease}.save-draft-btn:hover{background:linear-gradient(135deg,#8b7a5c,#6d5f42);box-shadow:0 6px 20px #a3987c59;transform:translateY(-2px)}.save-draft-btn .save-icon{font-size:16px}.save-draft-btn .save-text{white-space:nowrap}.view-draft-btn{align-items:center;background:#fff;border:2px solid #ffecd9;border-radius:10px;color:#d46a2c;cursor:pointer;display:flex;font-size:16px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.view-draft-btn:hover{background:#fff5eb;border-color:#ff8b42;transform:translateY(-2px)}.aesthetic-save-modal{background:linear-gradient(180deg,#fff,#fff9f0);max-width:520px}.aesthetic-header{background:linear-gradient(135deg,#ff8b42,#e67a35 50%,#d46a2c);padding:24px}.modal-header-content{align-items:center;display:flex;gap:12px}.modal-icon{animation:sparkle 2s ease-in-out infinite;font-size:28px}@keyframes sparkle{0%,to{opacity:1;transform:scale(1) rotate(0deg)}50%{opacity:.9;transform:scale(1.2) rotate(10deg)}}.aesthetic-header h3{font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0}.aesthetic-body{padding:24px;text-align:center}.draft-preview{border:3px solid #ffecd9;border-radius:16px;box-shadow:0 8px 32px #ff8b4233;height:200px;margin:0 auto 20px;overflow:hidden;width:200px}.draft-preview-image{height:100%;object-fit:cover;width:100%}.aesthetic-subtitle{color:#666;font-size:15px;margin:0 0 20px}.aesthetic-input-group{text-align:left}.aesthetic-label{color:#d46a2c;font-weight:600}.aesthetic-input{border:2px solid #ffecd9;transition:all .3s ease}.aesthetic-input:focus{border-color:#ff8b42;box-shadow:0 0 0 4px #ff8b4226}.aesthetic-footer{background:linear-gradient(180deg,#fff5eb,#ffe8d6);border-top:1px solid #ffecd9;padding:20px 24px}.aesthetic-cancel{border-color:#ffd9c2;color:#d46a2c}.aesthetic-cancel:hover:not(:disabled){background:#fff;border-color:#ff8b42}.aesthetic-save-btn{background:linear-gradient(135deg,#ff8b42,#e67a35);border-radius:12px;box-shadow:0 4px 16px #ff8b424d;font-size:15px;padding:14px 28px}.aesthetic-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#e67a35,#d46a2c);box-shadow:0 8px 24px #ff8b4266;transform:translateY(-2px)}.save-btn-icon{font-size:18px}@media (max-width:1200px){.drafts-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.drafts-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.drafts-grid{grid-template-columns:1fr;padding:16px}.drafts-header{align-items:flex-start;flex-direction:column}.draft-preview{height:150px;width:150px}}.edit-draft-btn{align-items:center;background:#fff;border:2px solid #dcd1b3;border-radius:10px;color:#a3987c;cursor:pointer;display:flex;font-size:16px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.edit-draft-btn:hover:not(:disabled){background:#f5f3f0;border-color:#a3987c;transform:translateY(-2px)}.edit-draft-btn:disabled,.view-draft-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.delete-draft-btn{align-items:center;background:#fff;border:2px solid #f5c6cb;border-radius:10px;color:#dc3545;cursor:pointer;display:flex;font-size:16px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.delete-draft-btn:hover:not(:disabled){background:#fff5f5;border-color:#dc3545;transform:translateY(-2px)}.delete-draft-btn:disabled,.save-draft-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.save-draft-btn:disabled{box-shadow:none}.inline-edit-box{align-items:center;display:flex;gap:8px;margin-top:10px}.inline-edit-input{background:#faf8f5;border:1.5px solid #dcd1b3;border-radius:8px;flex:1 1;font-family:inherit;font-size:13px;padding:8px 12px;transition:border-color .2s ease}.inline-edit-input:focus{background:#fff;border-color:#a3987c;outline:none}.inline-edit-input:disabled{cursor:not-allowed;opacity:.6}.inline-edit-send{align-items:center;background:linear-gradient(135deg,#a3987c,#8b7a5c);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:34px;justify-content:center;transition:all .2s ease;width:34px}.inline-edit-send:hover:not(:disabled){box-shadow:0 3px 8px #a3987c4d;transform:translateY(-1px)}.inline-edit-send:disabled{cursor:not-allowed;opacity:.5;transform:none}.pattern-chat-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;height:88vh;max-height:none;max-width:860px;overflow:hidden;width:92vw}.pattern-chat-header{align-items:center;background:linear-gradient(135deg,#dcd1b3,#c4b896);color:#5c5544;display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:16px 20px}.pattern-chat-header h3{color:#5c5544;font-size:18px;font-weight:600;margin:0}.edit-mode-toggle{background:#00000026;border-radius:20px;display:flex;gap:2px;padding:3px}.edit-mode-btn{background:#0000;border:none;border-radius:16px;color:#5c5544bf;cursor:pointer;font-size:13px;font-weight:500;padding:5px 16px;transition:background .15s,color .15s}.edit-mode-btn--active{background:#fff;box-shadow:0 1px 3px #0000001f;color:#5c5544}.pattern-chat-body{background:#f5f5f5;flex:1 1;min-height:0;overflow-y:auto;padding:16px}.chat-messages{display:flex;flex-direction:column;gap:16px}.chat-message{display:flex;gap:12px;max-width:85%}.chat-message.user{align-self:flex-end;flex-direction:row-reverse}.chat-message.ai{align-self:flex-start}.message-avatar{align-items:center;background:#fff;border-radius:50%;display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;width:36px}.chat-message.ai .message-avatar{background:linear-gradient(135deg,#f8f6f0,#ebe7dc)}.chat-message.user .message-avatar{background:linear-gradient(135deg,#a3987c,#8b7a5c)}.message-content{background:#fff;border-radius:16px;display:flex;flex-direction:column;gap:8px;padding:12px 16px}.chat-message.user .message-content{background:linear-gradient(135deg,#a3987c,#8b7a5c);color:#fff}.message-text{font-size:14px;line-height:1.5;margin:0 0 8px}.chat-message.user .message-text{color:#fff}.message-image{border-radius:12px;box-shadow:0 4px 12px #0000001a;cursor:pointer;max-width:280px;overflow:hidden;transition:transform .2s ease}.message-image:hover{transform:scale(1.02)}.message-image img{display:block;height:auto;width:100%}.message-time{color:#999;font-size:11px;margin-top:4px}.chat-message.user .message-time{color:#ffffffb3;text-align:right}.typing-indicator{display:flex;gap:4px;padding:8px 0}.typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:#a3987c;border-radius:50%;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-8px)}}.pattern-chat-footer{background:#fff;border-top:1px solid #e0e0e0;flex-shrink:0;padding:12px 16px 16px}.edit-suggestions-compact{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.suggestion-chip-sm{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:16px;color:#666;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.suggestion-chip-sm:hover:not(:disabled){background:#f8f6f0;border-color:#a3987c;color:#5d4e37}.suggestion-chip-sm:disabled{cursor:not-allowed;opacity:.5}.chat-input-container{align-items:center;display:flex;gap:12px}.chat-input{background:#fff;border:2px solid #e0e0e0;border-radius:24px;flex:1 1;font-family:inherit;font-size:14px;padding:12px 16px;transition:border-color .2s ease}.chat-input:focus{border-color:#a3987c;outline:none}.chat-input:disabled{background:#f5f5f5;cursor:not-allowed}.chat-send-btn{align-items:center;background:linear-gradient(135deg,#a3987c,#8b7a5c);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:44px;justify-content:center;transition:all .2s ease;width:44px}.chat-send-btn:hover:not(:disabled){box-shadow:0 4px 12px #a3987c4d;transform:translateY(-2px)}.chat-send-btn:disabled{background:#ccc;cursor:not-allowed}.loading-spinner-sm{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@media (max-width:600px){.pattern-chat-modal{border-radius:16px 16px 0 0;height:90vh;max-height:none}.message-image{max-width:200px}.edit-suggestions-compact{gap:6px}.suggestion-chip-sm{font-size:11px;padding:5px 10px}}.pattern-tools-body{background:#f5f5f5;flex:1 1;min-height:0;overflow-y:auto;padding:16px}.edit-tools-pane{display:flex;flex-direction:column;gap:12px}.edit-toolbar{display:flex;gap:8px}.tool-btn{align-items:center;background:#fff;border:1.5px solid #e8e3d8;border-radius:10px;color:#5c5544;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-width:76px;padding:10px 16px;transition:all .15s ease}.tool-btn:hover:not(:disabled){background:#faf8f5;border-color:#a3987c}.tool-btn--active{background:linear-gradient(135deg,#a3987c,#8b7a5c);border-color:#a3987c;color:#fff}.tool-btn:disabled{cursor:not-allowed;opacity:.5}.tool-icon{font-size:18px;line-height:1}.tool-label{font-size:11px;font-weight:500;letter-spacing:.4px;text-transform:uppercase}.tool-controls{align-items:center;background:#fff;border:1px solid #e8e3d8;border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;padding:10px 14px}.tool-control-label{align-items:center;color:#5c5544;display:flex;font-size:13px;font-weight:500;gap:8px}.tool-slider{accent-color:#a3987c;cursor:pointer;width:100px}.tool-control-value{background:#f5f3f0;border-radius:4px;color:#a3987c;font-size:12px;font-weight:600;min-width:34px;padding:2px 6px;text-align:center}.tool-hint{color:#7a6f5d;font-size:12px;font-style:italic}.tool-clear-btn{background:#fff;border:1px solid #e8e3d8;border-radius:6px;color:#5c5544;cursor:pointer;font-size:12px;font-weight:500;margin-left:auto;padding:5px 12px;transition:all .15s ease}.tool-clear-btn:hover:not(:disabled){background:#f5f3f0;border-color:#a3987c}.tool-clear-btn:disabled{cursor:not-allowed;opacity:.5}.edit-canvas-wrapper{align-self:flex-start;background:#f8f7f5;border:1px solid #e8e3d8;border-radius:12px;overflow:hidden;position:relative;width:100%}.edit-canvas-image{display:block;height:auto;max-height:380px;object-fit:contain;-webkit-user-select:none;user-select:none;width:100%}.edit-fabric-container{cursor:crosshair;height:100%;left:0;position:absolute;top:0;width:100%}.edit-fabric-container canvas,.edit-fabric-container>div{height:100%!important;left:0!important;position:absolute!important;top:0!important;width:100%!important}.tool-apply-btn{align-items:center;background:linear-gradient(135deg,#a3987c,#8b7a5c);border:none;border-radius:10px;box-shadow:0 3px 10px #a3987c40;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s ease}.tool-apply-btn:hover:not(:disabled){box-shadow:0 5px 16px #a3987c59;transform:translateY(-1px)}.tool-apply-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.tool-status{align-items:center;border-radius:8px;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:space-between;padding:10px 14px}.tool-status--error{background:#fff5f5;border:1px solid #fed7d7;color:#c53030}.tool-status--success{background:#f0fff4;border:1px solid #9ae6b4;color:#2f855a}.tool-status-close{background:none;border:none;color:inherit;cursor:pointer;font-size:16px;opacity:.7;padding:0 2px}.tool-status-close:hover{opacity:1}.open-editor-btn{align-items:center;background:#fff;border:2px solid #dcd1b3;border-radius:10px;color:#5c5544;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:5px;justify-content:center;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.open-editor-btn:hover:not(:disabled){background:#f5f3f0;border-color:#a3987c;color:#333}.open-editor-btn:disabled{cursor:not-allowed;opacity:.5}.editor-save-bar{align-items:center;background:linear-gradient(135deg,#f5f2ed,#ebe7dc);border-top:1px solid #dcd1b3;display:flex;flex-shrink:0;gap:8px;padding:10px 16px}.editor-save-bar--expanded{flex-wrap:nowrap;gap:8px}.editor-save-bar__msg{color:#5c5544;flex:1 1;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-save-bar__btn{align-items:center;background:linear-gradient(135deg,#a3987c,#8b7a5c);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.editor-save-bar__btn:hover{background:linear-gradient(135deg,#8b7a5c,#6d5f42);transform:translateY(-1px)}.confirm-delete-modal{max-width:420px}.confirm-delete-header{background:linear-gradient(135deg,#dc3545,#b02a37)}.confirm-delete-btn{align-items:center;background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 24px;transition:all .2s ease}.confirm-delete-btn:hover{background:#b02a37;box-shadow:0 4px 12px #dc35454d;transform:translateY(-1px)}.variation-selector{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.variation-count-btn{align-items:center;background:#fff;border:2px solid #d9d3cc;border-radius:50%;color:#555;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;font-weight:600;height:44px;justify-content:center;transition:border-color .15s,background .15s,color .15s,box-shadow .15s;width:44px}.variation-count-btn:hover:not(:disabled){background:#f5f0eb;border-color:#9c8a78;color:#333}.variation-count-btn--active{background:#7c6a5a;border-color:#7c6a5a;box-shadow:0 2px 6px #7c6a5a59;color:#fff}.variation-count-btn--active:hover:not(:disabled){background:#5f5147;border-color:#5f5147}.variation-count-btn:disabled{cursor:not-allowed;opacity:.45}.variation-hint{color:#888;font-size:13px;font-style:italic;margin-left:4px}.draft-actions--stacked{display:flex;flex-direction:column;gap:8px}.draft-actions-row{align-items:center;display:flex;gap:8px}.draft-actions-row--secondary{gap:6px}.build-print-btn{background:linear-gradient(135deg,#a3987c,#8b7a5c);border:none;border-radius:10px;box-shadow:0 4px 12px #a3987c40;color:#fff;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:8px;justify-content:center;padding:12px 16px;transition:all .3s ease}.build-print-btn:hover:not(:disabled){background:linear-gradient(135deg,#8b7a5c,#6d5f42);box-shadow:0 6px 20px #a3987c59;transform:translateY(-2px)}.build-print-btn:disabled{box-shadow:none;opacity:.5;transform:none}.saved-pattern-actions{flex-wrap:wrap;gap:6px}.similarity-scale-section{background:#fafafa;border:1px solid #e8e8e8;border-radius:10px;margin-top:14px;padding:14px 16px}.similarity-toggle-row{align-items:center;display:flex;margin-bottom:4px}.similarity-toggle-label{align-items:center;cursor:pointer;display:flex;gap:10px;-webkit-user-select:none;user-select:none}.toggle-switch{background:#ccc;border-radius:11px;cursor:pointer;display:inline-block;flex-shrink:0;height:22px;position:relative;transition:background .2s;width:40px}.toggle-switch.on{background:#a3987c}.toggle-knob{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;height:16px;left:3px;position:absolute;top:3px;transition:transform .2s;width:16px}.toggle-switch.on .toggle-knob{transform:translateX(18px)}.similarity-toggle-text{color:#333;font-size:14px;font-weight:600}.similarity-info-icon{color:#999;cursor:help;font-size:15px}.similarity-prompt-hint{align-items:flex-start;background:#f5f3f0;border:1px solid #e8e3d8;border-radius:7px;color:#5c5544;display:flex;font-size:13px;gap:8px;line-height:1.45;margin:10px 0 8px;padding:9px 12px}.similarity-prompt-hint-icon{flex-shrink:0;font-size:15px}.similarity-slider-row{align-items:center;display:flex;gap:12px;margin-top:6px}.similarity-label{color:#555;font-size:13px;font-weight:500;white-space:nowrap}.similarity-slider{-webkit-appearance:none;appearance:none;background:#e0e0e0;border-radius:2px;cursor:pointer;flex:1 1;height:4px;outline:none}.similarity-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#a3987c;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #0003;cursor:pointer;height:18px;width:18px}.similarity-slider::-moz-range-thumb{background:#a3987c;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #0003;cursor:pointer;height:18px;width:18px}.similarity-value{color:#a3987c;font-size:13px;font-weight:700;min-width:36px;text-align:right}.similarity-hint{color:#888;font-size:12px;font-style:italic;margin:8px 0 0}.similarity-prompt-textarea{border-color:#e8e3d8;font-size:13px;min-height:60px;padding:10px 12px}.similarity-prompt-textarea:focus{border-color:#a3987c;box-shadow:0 0 0 3px #a3987c1a}.lightbox-overlay{background:#000000d1;z-index:1500}.lightbox-modal{align-items:center;display:flex;justify-content:center;max-height:90vh;max-width:90vw;position:relative}.lightbox-img{border-radius:10px;box-shadow:0 8px 40px #00000080;display:block;max-height:85vh;max-width:90vw;object-fit:contain}.lightbox-close{align-items:center;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 8px #00000040;color:#333;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;line-height:1;position:absolute;right:-14px;top:-14px;transition:background .15s;width:32px;z-index:1}.lightbox-close:hover{background:#f0f0f0}.similarity-apply-btn{align-items:center;background:#fff;border:1.5px solid #a3987c;border-radius:8px;color:#5c5544;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:7px 14px;transition:background .15s,color .15s,box-shadow .15s}.similarity-apply-btn:hover:not(:disabled){background:#a3987c;box-shadow:0 2px 8px #a3987c40;color:#fff}.similarity-apply-btn:disabled{cursor:not-allowed;opacity:.5}.pb-overlay{align-items:center;justify-content:center}.pb-modal{animation:slideUp .25s ease;background:#fff;border-radius:16px;box-shadow:0 24px 80px #00000059;display:flex;flex-direction:column;max-height:92vh;overflow:hidden;width:min(96vw,1100px)}.pb-header{background:linear-gradient(135deg,#a3987c,#8b8b7a);color:#fff;flex-shrink:0;justify-content:space-between;padding:16px 20px}.pb-header,.pb-header-title{align-items:center;display:flex}.pb-header-title{font-size:17px;font-weight:600;gap:10px}.pb-header-icon{font-size:20px}.pb-header-sub{font-size:15px;font-weight:400;opacity:.8}.pb-close-btn{background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:20px;height:32px;line-height:32px;padding:0;text-align:center;transition:background .15s;width:32px}.pb-close-btn:hover{background:#ffffff59}.pb-body{display:flex;flex:1 1;min-height:0;overflow:hidden}.pb-toolbar{background:#f8f7f5;border-right:1px solid #e8e4df;flex-shrink:0;overflow-y:auto;padding:16px 12px;width:148px}.pb-tool-section,.pb-toolbar{display:flex;flex-direction:column;gap:4px}.pb-tool-section{margin-bottom:8px}.pb-tool-section-label{color:#999;font-size:10px;font-weight:600;letter-spacing:.08em;padding:4px 0 2px;text-transform:uppercase}.pb-tool-btn{background:#fff;border:1px solid #ddd;border-radius:7px;color:#444;cursor:pointer;font-size:12px;padding:7px 8px;text-align:left;transition:background .15s,border-color .15s,color .15s;width:100%}.pb-tool-btn:hover:not(:disabled){background:#f0ede8;border-color:#c9c1b4;color:#222}.pb-tool-btn:disabled{cursor:not-allowed;opacity:.4}.pb-tool-btn--active{background:#a3987c;border-color:#8b8b7a;color:#fff}.pb-tool-btn--active:hover:not(:disabled){background:#8b8b7a}.pb-tool-btn--danger{color:#c0392b}.pb-tool-btn--danger:hover:not(:disabled){background:#fff0ef;border-color:#e57373;color:#c0392b}.pb-tool-hint{color:#aaa;font-size:10px;line-height:1.6;margin-top:auto;padding-top:12px}.pb-tool-hint p{margin:0}.pb-canvas-area{background:#edeae5;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.pb-canvas-scroll{align-items:flex-start;display:flex;flex:1 1;justify-content:flex-start;overflow:auto;padding:20px}.pb-canvas-container{border-radius:4px;box-shadow:0 4px 24px #0000002e;flex-shrink:0;overflow:hidden}.pb-canvas-container>div{display:block!important}.pb-footer{background:#fff;border-top:1px solid #e8e4df;display:flex;flex-direction:column;flex-shrink:0;gap:10px;padding:14px 20px}.pb-footer-actions{align-items:center;display:flex;gap:12px;justify-content:flex-end}.pb-status-msg{border-radius:8px;font-size:13px;padding:8px 12px}.pb-status-msg--ok{background:#f0fdf4;color:#166534}.pb-status-msg--err{background:#fef2f2;color:#991b1b}.pb-btn-secondary{background:#fff;border:2px solid #a3987c;border-radius:8px;color:#a3987c;cursor:pointer;font-size:14px;font-weight:500;padding:9px 18px;transition:background .15s,color .15s;white-space:nowrap}.pb-btn-secondary:hover{background:#a3987c;color:#fff}.pb-btn-primary{background:linear-gradient(135deg,#a3987c,#8b8b7a);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:opacity .15s;white-space:nowrap}.pb-btn-primary:hover:not(:disabled){opacity:.88}.pb-btn-primary:disabled{cursor:not-allowed;opacity:.6}.pb-btn--loading{opacity:.75}.build-print-btn{align-items:center;background:#0000;border:1px solid #a3987c;border-radius:6px;color:#a3987c;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:4px 9px;transition:background .15s,color .15s;white-space:nowrap}.build-print-btn:hover:not(:disabled){background:#a3987c;color:#fff}.build-print-btn:disabled{cursor:not-allowed;opacity:.45}.pattern-library-page{margin:0 auto;max-width:1600px;padding:24px 0}.pattern-library-page .content-header,.pattern-library-page .page-title-section{margin-bottom:24px}.pattern-library-page .page-title{align-items:center;color:var(--color-text-primary);display:flex;font-size:28px;font-weight:600;gap:12px;margin:0 0 8px}.pattern-library-page .title-icon{font-size:32px}.pattern-library-page .page-subtitle{color:var(--color-text-muted);font-size:16px;margin:0}.pattern-library-container{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-flat);padding:24px}.library-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.filter-buttons{display:flex;gap:8px}.filters-row .brand-selector .brand-select,.filters-row .delete-all-btn,.filters-row .filter-btn,.filters-row .refresh-btn,.filters-row .upload-prints-btn{box-sizing:border-box;font-size:13px;height:40px}.filters-row .brand-selector .brand-select{background:none;border:1px solid #d4c5a0;border-radius:6px;color:#6b5a3e;font-weight:600}.filters-row .brand-selector .brand-select:focus{border-color:#a3987c;box-shadow:0 0 0 2px #a3987c26;outline:none}.filter-btn{align-items:center;background:none;border:1px solid #d4c5a0;border-radius:6px;color:#6b5a3e;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .15s ease}.filter-btn:hover{background:#f8f6f0;border-color:#a3987c;color:#2c1810}.filter-btn.active{background:linear-gradient(135deg,#f8f6f0,#ebe7dc);border-color:#8b7a5c;box-shadow:0 1px 4px #a3987c33;color:#2c1810}.upload-prints-btn{align-items:center;background:linear-gradient(135deg,#a3987c,#8b7a5c);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:700;gap:6px;padding:8px 14px;transition:all .15s ease}.upload-prints-btn:hover:not(:disabled){background:linear-gradient(135deg,#8b7a5c,#6d5f42);box-shadow:0 2px 8px #8b7a5c4d}.upload-prints-btn:disabled{cursor:not-allowed;opacity:.5}.refresh-btn{align-items:center;background:none;border:1px solid #d4c5a0;border-radius:6px;color:#6b5a3e;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .15s ease}.refresh-btn:hover:not(:disabled){background:#f8f6f0;border-color:#a3987c;color:#2c1810}.refresh-btn:disabled{cursor:not-allowed;opacity:.5}.delete-all-btn{align-items:center;background:none;border:1px solid #d4c5a0;border-radius:6px;color:#8b2020;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .15s ease}.delete-all-btn:hover:not(:disabled){background:#fdf0f0;border-color:#e8c0c0;color:#8b2020}.delete-all-btn:disabled{cursor:not-allowed;opacity:.5}.pattern-library-container .error-message{align-items:center;background:#fff5f5;border:1px solid #ffcdd2;border-radius:8px;display:flex;gap:12px;margin-bottom:24px;padding:16px}.error-icon{font-size:20px}.retry-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;margin-left:auto;padding:8px 16px}.retry-btn:hover{background:#c82333}.loading-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-state .loading-spinner{animation:spin 1s linear infinite;border-top:3px solid var(--color-border-subtle);border:3px solid var(--color-border-subtle);border-radius:50%;border-top-color:var(--color-cta-bg);height:40px;margin-bottom:16px;width:40px}.pattern-library-container .empty-state{padding:60px 20px;text-align:center}.pattern-library-container .empty-icon{font-size:64px;margin-bottom:16px}.pattern-library-container .empty-state h3{color:#333;font-size:20px;font-weight:600;margin:0 0 8px}.pattern-library-container .empty-state p{color:#666;font-size:14px;margin:0 auto;max-width:400px}.patterns-by-user{display:flex;flex-direction:column;gap:32px}.user-pattern-group{border:1px solid #e0e0e0;border-radius:12px;overflow:hidden}.user-header{align-items:center;background:var(--color-surface-callout);border-bottom:1px solid var(--color-border-subtle);display:flex;gap:12px;padding:16px 20px}.user-icon{font-size:24px}.user-email{color:#333;flex:1 1;font-size:16px;font-weight:600;margin:0}.pattern-count{background:#e0e0e0;border-radius:12px;color:#666;font-size:13px;padding:4px 10px}.patterns-grid-container .patterns-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.user-pattern-group .patterns-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:20px}.pattern-library-page .pattern-card{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);overflow:hidden;transition:all .15s ease}.pattern-library-page .pattern-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.pattern-library-page .pattern-image-container{align-items:center;background:#f8f9fa;display:flex;height:180px;justify-content:center;overflow:hidden;width:100%}.pattern-library-page .pattern-image{height:100%;object-fit:cover;width:100%}.pattern-library-page .pattern-placeholder{color:#ccc;font-size:48px}.pattern-library-page .pattern-load-error{align-items:center;color:#999;display:flex;flex-direction:column;gap:8px}.pattern-library-page .pattern-load-error span{font-size:32px}.pattern-library-page .pattern-load-error p{font-size:12px;margin:0}.pattern-library-page .pattern-info{padding:16px}.pattern-library-page .pattern-name{color:#333;font-size:15px;font-weight:600;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pattern-library-page .pattern-prompt{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:13px;font-style:italic;line-height:1.4;margin:0 0 12px;overflow:hidden}.pattern-library-page .pattern-metadata{margin-bottom:12px}.pattern-library-page .pattern-date{color:#999;font-size:12px}.pattern-library-page .pattern-actions{display:flex;flex-wrap:wrap;gap:6px}.pattern-library-page .delete-btn,.pattern-library-page .download-btn,.pattern-library-page .preview-garment-btn,.pattern-library-page .view-btn{align-items:center;border-radius:4px;cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;gap:3px;justify-content:center;line-height:1.3;padding:4px 10px;transition:all .15s ease;white-space:nowrap}.pattern-library-page .view-btn{background:linear-gradient(135deg,#a3987c,#8b7a5c);border:none;color:#fff}.pattern-library-page .view-btn:hover{background:linear-gradient(135deg,#8b7a5c,#6d5f42);box-shadow:0 2px 6px #8b7a5c4d}.pattern-library-page .preview-garment-btn{background:linear-gradient(135deg,#6b6147,#9e8f6e);border:none;color:#fff;flex:2 1}.pattern-library-page .preview-garment-btn:hover{background:linear-gradient(135deg,#5a5139,#8a7d60);box-shadow:0 2px 6px #6b61474d}.pattern-library-page .download-btn{background:none;border:1px solid #d4c5a0;color:#6b5a3e}.pattern-library-page .download-btn:hover{background:#f8f6f0;border-color:#a3987c;color:#2c1810}.pattern-library-page .delete-btn{background:none;border:1px solid #d4c5a0;color:#8b2020}.pattern-library-page .delete-btn:hover:not(:disabled){background:#fdf0f0;border-color:#e8c0c0}.pattern-library-page .delete-btn:disabled{cursor:not-allowed;opacity:.5}.library-stats{border-top:1px solid #e0e0e0;color:#666;font-size:14px;margin-top:24px;padding-top:16px;text-align:center}@media (max-width:768px){.pattern-library-page{padding:16px}.library-controls{align-items:stretch;flex-direction:column}.library-controls .search-bar{min-width:auto}.filter-buttons{justify-content:center}.user-pattern-group .patterns-grid{grid-template-columns:1fr}}.print-upload-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.print-upload-modal{animation:slideUp .25s ease;background:#fff;background:var(--color-surface-card,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-border-subtle,#e5e7eb);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:680px;overflow:hidden;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.print-upload-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border-subtle,#e5e7eb);display:flex;justify-content:space-between;padding:20px 24px}.print-upload-title{align-items:center;display:flex;gap:10px}.print-upload-title .upload-icon{font-size:24px}.print-upload-title h2{color:#1f2937;color:var(--color-text-primary,#1f2937);font-size:20px;font-weight:600;margin:0}.print-upload-close{align-items:center;background:none;border:none;border-radius:8px;color:#6b7280;color:var(--color-text-muted,#6b7280);cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;transition:all .15s ease;width:36px}.print-upload-close:hover:not(:disabled){background:#f3f4f6;background:var(--color-surface-hover,#f3f4f6);color:#1f2937;color:var(--color-text-primary,#1f2937)}.print-upload-close:disabled{cursor:not-allowed;opacity:.4}.print-upload-body{flex:1 1;overflow-y:auto;padding:24px}.upload-brand-row{align-items:center;display:flex;gap:12px;margin-bottom:20px}.upload-label{color:#374151;color:var(--color-text-secondary,#374151);font-size:14px;font-weight:500;white-space:nowrap}.upload-brand-selector{flex:1 1}.upload-drop-zone{background:#f9fafb;background:var(--color-surface-secondary,#f9fafb);border:2px dashed #d1d5db;border:2px dashed var(--color-border-subtle,#d1d5db);border-radius:12px;border-radius:var(--radius-lg,12px);cursor:pointer;margin-bottom:16px;padding:32px 24px;text-align:center;transition:all .2s ease}.upload-drop-zone:hover{background:#6366f10a}.upload-drop-zone.drag-over,.upload-drop-zone:hover{border-color:#6366f1;border-color:var(--color-primary,#6366f1)}.upload-drop-zone.drag-over{background:#6366f114;transform:scale(1.01)}.upload-drop-zone.has-files{padding:16px 24px}.upload-file-input{display:none}.drop-zone-content{align-items:center;display:flex;flex-direction:column;gap:8px}.drop-zone-icon{font-size:40px;line-height:1}.has-files .drop-zone-icon{font-size:24px}.drop-zone-text{color:#374151;color:var(--color-text-secondary,#374151);font-size:15px;margin:0}.has-files .drop-zone-text{font-size:13px}.drop-zone-hint{color:#9ca3af;color:var(--color-text-muted,#9ca3af);font-size:12px;margin:0}.upload-message{align-items:flex-start;border-radius:8px;display:flex;font-size:13px;gap:8px;margin-bottom:12px;padding:10px 14px}.upload-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.upload-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.upload-file-list{border:1px solid #e5e7eb;border:1px solid var(--color-border-subtle,#e5e7eb);border-radius:12px;border-radius:var(--radius-lg,12px);overflow:hidden}.file-list-header{background:#f9fafb;background:var(--color-surface-secondary,#f9fafb);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border-subtle,#e5e7eb);color:#374151;color:var(--color-text-secondary,#374151);font-size:13px;font-weight:500;padding:10px 16px}.file-list-items{max-height:280px;overflow-y:auto}.file-list-item{align-items:center;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--color-border-subtle,#f3f4f6);display:flex;gap:12px;padding:10px 16px;transition:background .15s ease}.file-list-item:last-child{border-bottom:none}.file-list-item:hover{background:#f9fafb;background:var(--color-surface-secondary,#f9fafb)}.file-preview{border:1px solid #e5e7eb;border:1px solid var(--color-border-subtle,#e5e7eb);border-radius:6px;flex-shrink:0;height:48px;overflow:hidden;width:48px}.file-preview img{height:100%;object-fit:cover;width:100%}.file-details{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.file-name-input{background:#fff;background:var(--color-surface-card,#fff);border:1px solid #d1d5db;border:1px solid var(--color-border-subtle,#d1d5db);border-radius:6px;color:#1f2937;color:var(--color-text-primary,#1f2937);font-size:14px;font-weight:500;padding:6px 10px;transition:border-color .15s ease;width:100%}.file-name-input:focus{border-color:#6366f1;border-color:var(--color-primary,#6366f1);box-shadow:0 0 0 3px #6366f11a;outline:none}.file-name-input:disabled{cursor:not-allowed;opacity:.6}.file-meta{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta,.file-remove-btn{color:#9ca3af;color:var(--color-text-muted,#9ca3af)}.file-remove-btn{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:28px;justify-content:center;transition:all .15s ease;width:28px}.file-remove-btn:hover:not(:disabled){background:#fef2f2;color:#ef4444}.file-remove-btn:disabled{cursor:not-allowed;opacity:.3}.print-upload-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--color-border-subtle,#e5e7eb);display:flex;flex-direction:column;gap:12px;padding:16px 24px}.upload-progress{align-items:center;color:#374151;color:var(--color-text-secondary,#374151);display:flex;font-size:13px;gap:10px}.upload-progress .hourglass-loading.small{height:16px;width:16px}.upload-actions{display:flex;gap:10px;justify-content:flex-end}.upload-cancel-btn{background:#fff;background:var(--color-surface-card,#fff);border:1px solid #d1d5db;border:1px solid var(--color-border-subtle,#d1d5db);border-radius:8px;color:#374151;color:var(--color-text-secondary,#374151);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .15s ease}.upload-cancel-btn:hover:not(:disabled){background:#f3f4f6;background:var(--color-surface-hover,#f3f4f6)}.upload-cancel-btn:disabled{cursor:not-allowed;opacity:.5}.upload-submit-btn{align-items:center;background:#6366f1;background:var(--color-primary,#6366f1);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 24px;transition:all .15s ease}.upload-submit-btn:hover:not(:disabled){background:#4f46e5;background:var(--color-primary-hover,#4f46e5);box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.upload-submit-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.ucm-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.ucm-modal{animation:ucm-slide-up .25s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;max-height:90vh;max-width:900px;overflow-y:auto;width:100%}@keyframes ucm-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ucm-header{align-items:center;background:#f0ead8;border-bottom:1px solid #d4c5a0;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:20px 24px}.ucm-title{color:#2c1810;font-size:20px;font-weight:700;margin:0}.ucm-close-btn{background:none;border:none;border-radius:6px;color:#6b5a3e;cursor:pointer;font-size:20px;padding:4px 8px;transition:background .15s}.ucm-close-btn:hover{background:#00000014}.ucm-steps{background:#faf8f3;border-bottom:1px solid #e8dfca;gap:12px;justify-content:center;padding:16px 24px}.ucm-step,.ucm-steps{align-items:center;display:flex}.ucm-step{gap:8px;opacity:.4;transition:opacity .2s}.ucm-step-active{opacity:1}.ucm-step-done{opacity:.7}.ucm-step-num{align-items:center;background:#d4c5a0;border-radius:50%;color:#2c1810;display:flex;font-size:13px;font-weight:700;height:28px;justify-content:center;width:28px}.ucm-step-active .ucm-step-num{background:#8b7a5c;color:#fff}.ucm-step-done .ucm-step-num{background:#4a8b5c;color:#fff}.ucm-step-label{color:#2c1810;font-size:13px;font-weight:600}.ucm-step-line{background:#d4c5a0;border-radius:1px;height:2px;width:40px}.ucm-body{padding:24px}.ucm-dropzone{background:#faf8f3;border:2px dashed #d4c5a0;border-radius:12px;cursor:pointer;padding:40px 24px;text-align:center;transition:all .2s}.ucm-dropzone:hover{background:#f5f0e8;border-color:#8b7a5c}.ucm-dropzone-active{background:#f0ead8;border-color:#8b7a5c;box-shadow:0 0 0 3px #8b7a5c26}.ucm-dropzone-has-file{cursor:default;padding:20px}.ucm-dropzone-icon{font-size:48px;margin-bottom:12px}.ucm-dropzone-text{color:#2c1810;font-size:15px;line-height:1.5;margin:0 0 8px}.ucm-dropzone-hint{color:#6b5a3e;font-size:12px;margin:0}.ucm-file-selected{align-items:center;display:flex;gap:16px}.ucm-file-preview-img{height:120px;object-fit:contain;width:120px}.ucm-file-icon,.ucm-file-preview-img{background:#fff;border:1px solid #d4c5a0;border-radius:8px}.ucm-file-icon{align-items:center;display:flex;font-size:48px;height:80px;justify-content:center;width:80px}.ucm-file-info{display:flex;flex:1 1;flex-direction:column;gap:4px;text-align:left}.ucm-file-name{color:#2c1810;font-size:14px;font-weight:600;word-break:break-all}.ucm-file-size{color:#6b5a3e;font-size:12px}.ucm-file-remove{background:none;border:1px solid #d4c5a0;border-radius:6px;color:#8b2020;cursor:pointer;font-size:14px;padding:6px 10px;transition:background .15s}.ucm-file-remove:hover{background:#fdf0f0}.ucm-info-banner{align-items:center;background:#f0ead8;border:1px solid #d4c5a0;border-radius:8px;color:#2c1810;display:flex;font-size:13px;gap:10px;margin-top:16px;padding:12px 16px}.ucm-info-icon{flex-shrink:0;font-size:18px}.ucm-error{background:#fdf0f0;border:1px solid #e8c0c0;border-radius:8px;color:#8b2020;font-size:13px;margin-top:12px;padding:10px 14px}.ucm-progress-banner{animation:ucm-pulse 2s ease-in-out infinite;background:#e8f4fd;border:1px solid #bee3f8;border-radius:8px;color:#2980b9;font-size:12px;margin-top:10px;padding:10px 14px;text-align:center}@keyframes ucm-pulse{0%,to{opacity:1}50%{opacity:.7}}.ucm-success{background:#f0fdf4;border:1px solid #b8e6c8;border-radius:8px;color:#1a6b3a;font-size:13px;margin-top:12px;padding:10px 14px}.ucm-actions{border-top:1px solid #e8dfca;display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px}.ucm-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:all .15s}.ucm-btn:disabled{cursor:not-allowed;opacity:.5}.ucm-btn-primary{background:#8b7a5c;color:#fff}.ucm-btn-primary:hover:not(:disabled){background:#7a6a4f}.ucm-btn-secondary{background:#f0ead8;border:1px solid #d4c5a0;color:#2c1810}.ucm-btn-secondary:hover{background:#e8dfca}.ucm-btn-colour-inline{background:#8b7a5c;border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:700;padding:10px 16px;transition:background .15s;white-space:nowrap}.ucm-btn-colour-inline:hover:not(:disabled){background:#7a6a4f}.ucm-btn-colour-inline:disabled{cursor:not-allowed;opacity:.5}.ucm-btn-colour{background:#8b7a5c;color:#fff;justify-content:center;margin-top:12px;padding:12px 20px;width:100%}.ucm-btn-colour:hover:not(:disabled){background:#7a6a4f}.ucm-btn-skip{background:#4a8b5c;color:#fff}.ucm-btn-skip:hover{background:#3d7a4f}.ucm-spinner{border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}.ucm-spinner,.ucm-spinner-large{animation:ucm-spin .6s linear infinite;display:inline-block}.ucm-spinner-large{border:3px solid #8b7a5c33;border-radius:50%;border-top-color:#8b7a5c;height:28px;width:28px}@keyframes ucm-spin{to{transform:rotate(1turn)}}.ucm-colour-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.ucm-colour-preview-panel{display:flex;flex-direction:column;gap:10px}.ucm-structure-locked-badge{align-items:center;align-self:flex-start;background:#fdf0f0;border:1px solid #e8c0c0;border-radius:6px;color:#8b2020;display:inline-flex;font-size:12px;font-weight:700;gap:6px;padding:6px 12px}.ucm-preview-container{align-items:center;background:#faf8f3;border:1px solid #d4c5a0;border-radius:10px;display:flex;justify-content:center;min-height:280px;padding:12px;position:relative}.ucm-preview-image{border-radius:6px;max-height:350px;max-width:100%;object-fit:contain}.ucm-preview-overlay{align-items:center;background:#fffc;border-radius:10px;color:#8b7a5c;display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:10px;inset:0;justify-content:center;position:absolute}.ucm-preview-filename{color:#6b5a3e;font-size:12px;margin:0;text-align:center;word-break:break-all}.ucm-colour-controls{display:flex;flex-direction:column;gap:14px}.ucm-section-title{color:#2c1810;font-size:18px;font-weight:700;margin:0}.ucm-section-subtitle{color:#6b5a3e;font-size:13px;line-height:1.4;margin:0}.ucm-label{color:#6b5a3e;display:block;font-size:12px;font-weight:600;margin-bottom:4px}.ucm-colour-picker-row{display:flex;flex-direction:column;gap:6px}.ucm-colour-input-group{align-items:center;display:flex;gap:10px}.ucm-colour-swatch-btn{border:2px solid #d4c5a0;border-radius:8px;cursor:pointer;height:44px;min-width:44px;position:relative;transition:all .15s;width:44px}.ucm-colour-swatch-btn:hover{border-color:#8b7a5c;box-shadow:0 2px 8px #00000026;transform:scale(1.05)}.ucm-picker-popover{background:#fff;border:2px solid #d4c5a0;border-radius:12px;box-shadow:0 8px 24px #00000026;display:flex;flex-direction:column;gap:10px;margin-top:10px;padding:12px}.ucm-picker-canvas{border:1px solid #d4c5a0;border-radius:8px;cursor:crosshair;height:150px;width:100%}.ucm-picker-hue-row{align-items:center;display:flex;gap:8px}.ucm-picker-hue-slider{-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:6px;flex:1 1;height:12px;outline:none}.ucm-picker-hue-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:2px solid #333;border-radius:50%;box-shadow:0 1px 4px #0000004d;cursor:pointer;height:16px;width:16px}.ucm-picker-hue-slider::-moz-range-thumb{background:#fff;border:2px solid #333;border-radius:50%;box-shadow:0 1px 4px #0000004d;cursor:pointer;height:16px;width:16px}.ucm-picker-popover-footer{align-items:center;display:flex;gap:10px}.ucm-picker-popover-preview{border:1px solid #d4c5a0;border-radius:6px;flex-shrink:0;height:28px;width:28px}.ucm-picker-popover-hex{color:#2c1810;flex:1 1;font-family:monospace;font-size:14px;font-weight:600}.ucm-btn-picker-ok{background:#4a8b5c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:8px 16px;transition:background .15s}.ucm-btn-picker-ok:hover{background:#3d7a4f}.ucm-colour-hex-input{background:#faf8f3;border:1px solid #d4c5a0;border-radius:8px;color:#2c1810;flex:1 1;font-family:monospace;font-size:14px;padding:10px 12px}.ucm-colour-hex-input:focus{border-color:#8b7a5c;box-shadow:0 0 0 2px #8b7a5c26;outline:none}.ucm-presets{display:flex;flex-direction:column;gap:6px}.ucm-presets-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(8,1fr)}.ucm-preset-btn{aspect-ratio:1;border:2px solid #d4c5a0;border-radius:6px;cursor:pointer;position:relative;transition:all .15s;width:100%}.ucm-preset-btn:hover{box-shadow:0 2px 8px #00000026;transform:scale(1.15);z-index:1}.ucm-preset-active{border-color:#2c1810;box-shadow:0 0 0 2px #8b7a5c;transform:scale(1.1)}.ucm-mode-row{flex-direction:column}.ucm-mode-buttons,.ucm-mode-row{display:flex;gap:6px}.ucm-mode-btn{background:#fff;border:2px solid #d4c5a0;border-radius:8px;color:#6b5a3e;cursor:pointer;flex:1 1;font-size:12px;font-weight:600;padding:8px 10px;text-align:center;transition:all .15s}.ucm-mode-btn:hover{background:#faf8f3;border-color:#8b7a5c}.ucm-mode-btn-active{background:#f5f0e8;border-color:#8b7a5c;color:#2c1810}.ucm-opacity-row{display:flex;flex-direction:column;gap:6px}.ucm-opacity-slider{-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,#e8dfca,#8b7a5c);border-radius:3px;height:6px;outline:none;width:100%}.ucm-opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#8b7a5c;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #0003;cursor:pointer;height:18px;width:18px}.ucm-opacity-slider::-moz-range-thumb{background:#8b7a5c;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #0003;cursor:pointer;height:18px;width:18px}@media (max-width:768px){.ucm-modal{margin:10px;max-width:100%}.ucm-colour-layout{grid-template-columns:1fr}.ucm-presets-grid{grid-template-columns:repeat(8,1fr)}.ucm-file-selected{flex-direction:column;text-align:center}.ucm-file-info{text-align:center}}@media (max-width:480px){.ucm-body,.ucm-header{padding:16px}.ucm-presets-grid{grid-template-columns:repeat(6,1fr)}.ucm-mode-buttons{flex-direction:column}}.color-tool-page{background-color:#f8f6f0;min-height:100vh;padding:24px 0}.color-tool-page .content-header{margin-bottom:24px}.color-tool-page .page-title-section{display:flex;flex-direction:column;gap:8px}.color-tool-page .page-title{align-items:center;color:#333;display:flex;font-size:28px;font-weight:700;gap:12px;margin:0}.color-tool-page .title-icon{font-size:32px}.color-tool-page .page-subtitle{color:#666;font-size:14px;margin:0}.color-tool-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;max-width:1400px}.color-picker-section{align-items:center;background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;gap:24px;padding:24px}.color-picker-wrapper,.hue-ring{height:250px;position:relative;width:250px}.hue-ring{align-items:center;background:conic-gradient(from 0deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:50%;cursor:crosshair;display:flex;justify-content:center}.hue-indicator{background:#fff;border:3px solid #333;border-radius:50%;box-shadow:0 2px 4px #0000004d;height:16px;pointer-events:none;position:absolute;transform-origin:center center;width:16px}.sv-square{border-radius:8px;box-shadow:inset 0 0 0 1px #0000001a;cursor:crosshair;height:140px;position:relative;width:140px}.sv-white-gradient{background:linear-gradient(90deg,#fff,#0000)}.sv-black-gradient,.sv-white-gradient{border-radius:8px;inset:0;position:absolute}.sv-black-gradient{background:linear-gradient(180deg,#0000,#000)}.sv-indicator{border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #0000004d,inset 0 0 0 1px #0000004d;height:16px;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:16px}.color-preview-section{text-align:center}.color-preview-large{border:3px solid #fff;border-radius:12px;box-shadow:0 4px 12px #00000026;height:120px;margin:0 auto 12px;width:120px}.color-name{color:#333;font-size:16px;font-weight:600;text-transform:capitalize}.color-values-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;gap:20px;padding:24px}.color-value-group{border-bottom:1px solid #f0f0f0;padding-bottom:16px}.color-value-group:last-child{border-bottom:none;padding-bottom:0}.value-group-title{color:#a3987c;font-size:14px;font-weight:700;letter-spacing:1px;margin:0 0 12px;text-transform:uppercase}.value-inputs{display:flex;flex-direction:column;gap:12px}.value-input-wrapper{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:80px 70px 1fr}.value-input-wrapper label{color:#666;font-size:13px;font-weight:500}.value-input-wrapper input[type=number]{background:#f8f6f0;border:2px solid #e0e0e0;border-radius:8px;color:#333;font-size:14px;font-weight:600;padding:8px 10px;text-align:center;width:100%}.value-input-wrapper input[type=number]:focus{border-color:#a3987c;outline:none}.value-input-wrapper input[type=number]:read-only{background:#f0f0f0;cursor:default}.value-input-wrapper input[type=range]{-webkit-appearance:none;appearance:none;background:#e0e0e0;border-radius:4px;cursor:pointer;height:8px;width:100%}.value-input-wrapper input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#a3987c;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:18px;width:18px}.hue-slider{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)!important}.red-slider{background:linear-gradient(90deg,#000,red)!important}.green-slider{background:linear-gradient(90deg,#000,#0f0)!important}.blue-slider{background:linear-gradient(90deg,#000,#00f)!important}.hex-group .value-group-title{margin-bottom:8px}.hex-input-wrapper{display:flex;gap:8px}.hex-input{background:#f8f6f0;border:2px solid #e0e0e0;border-radius:8px;color:#333;flex:1 1;font-family:Monaco,Menlo,monospace;font-size:18px;font-weight:700;padding:12px 16px;text-transform:uppercase}.hex-input:focus{border-color:#a3987c;outline:none}.copy-btn{background:#a3987c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 16px;transition:background .2s ease;white-space:nowrap}.copy-btn:hover{background:#8b7a5c}.color-harmonies-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:24px}.section-title{color:#333;font-size:16px;font-weight:700;margin:0 0 20px}.harmony-group{margin-bottom:16px}.harmony-group:last-child{margin-bottom:0}.harmony-group h4{color:#666;font-size:13px;font-weight:600;margin:0 0 8px}.harmony-swatches{display:flex;gap:8px}.harmony-swatch{border:2px solid #fff;border-radius:8px;box-shadow:0 2px 8px #00000026;cursor:pointer;height:50px;transition:transform .2s ease,box-shadow .2s ease;width:50px}.harmony-swatch:hover{box-shadow:0 4px 12px #0003;transform:scale(1.1)}.harmony-swatch:first-child{border-color:#333}.color-conversions-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:24px}.conversions-list{display:flex;flex-direction:column;gap:12px}.conversion-item{align-items:center;background:#f8f6f0;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.conversion-label{color:#666;font-size:13px;font-weight:600}.conversion-value{color:#333;cursor:pointer;font-family:Monaco,Menlo,monospace;font-size:14px;font-weight:600}.conversion-value:hover{color:#a3987c}@media (max-width:1200px){.color-tool-container{grid-template-columns:1fr}}@media (max-width:768px){.color-tool-page{padding:16px}.color-picker-wrapper,.hue-ring{height:200px;width:200px}.sv-square{height:100px;width:100px}.value-input-wrapper{gap:8px;grid-template-columns:70px 60px 1fr}.harmony-swatch{height:40px;width:40px}}.design-packs-page{background-color:var(--color-surface-primary);display:flex;flex-direction:column;min-height:100vh}.pack-name-input{background-color:#fff;border:2px solid #d4c5a0;border-radius:6px;color:#333;font-family:inherit;font-size:14px;max-width:300px;outline:none;padding:8px 14px;transition:border-color .2s ease;width:100%}.pack-name-input:focus{border-color:#a3987c;box-shadow:0 0 0 3px #a3987c1a}.pack-name-input::placeholder{color:#b0a58a}.active-toggle{background-color:var(--color-tab-active-bg)!important;border-color:var(--color-tab-active-bg)!important;color:#fff!important}.zoom-controls{align-items:center;background:#fff;border:1px solid #d4c5a0;border-radius:6px;display:flex;gap:4px;padding:2px}.zoom-controls button{align-items:center;background:#0000;border:none;border-radius:4px;color:#5d4e37;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.zoom-controls button:hover{background-color:#f0ead8}.zoom-controls span{color:#5d4e37;font-size:12px;font-weight:600;min-width:40px;text-align:center}.tools-dropdown-wrapper{position:relative}.tools-dropdown-menu{background:#fff;border:1px solid #d4c5a0;border-radius:8px;box-shadow:0 4px 16px #0000001f;display:flex;flex-direction:column;left:0;margin-top:4px;min-width:200px;padding:4px;position:absolute;top:100%;z-index:1000}.tools-dropdown-menu button{align-items:center;background:#0000;border:none;border-radius:6px;color:#333;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:10px 14px;text-align:left;transition:background-color .15s ease;white-space:nowrap}.tools-dropdown-menu button:hover{background-color:#f0ead8}.design-pack-workspace{display:flex;flex:1 1;min-height:0;overflow:hidden}.design-picker-panel{background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;min-width:300px;overflow:hidden;width:300px}.picker-header{border-bottom:1px solid #e9ecef;flex-shrink:0;padding:16px}.picker-header h3{color:#333;font-size:16px;font-weight:600;margin:0 0 12px}.picker-tabs{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:12px}.picker-tab{background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;flex:0 0 auto;font-size:12px;font-weight:500;padding:6px 10px;transition:all .2s ease;white-space:nowrap}.picker-tab:hover{background-color:#f0ead8}.picker-tab.active{background-color:var(--color-tab-active-bg);color:#fff}.picker-search input{border:1px solid #d4c5a0;border-radius:6px;box-sizing:border-box;font-size:13px;outline:none;padding:8px 12px;transition:border-color .2s ease;width:100%}.picker-search input:focus{border-color:#a3987c;box-shadow:0 0 0 2px #a3987c1a}.picker-designs-list{flex:1 1;overflow-y:auto;padding:8px}.picker-loading{color:#666;gap:12px}.picker-empty,.picker-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 16px}.picker-empty{color:#999;text-align:center}.picker-empty span{font-size:36px;margin-bottom:8px}.picker-empty p{font-size:13px;margin:0}.picker-design-item{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;gap:10px;margin-bottom:4px;padding:8px 10px;transition:all .2s ease}.picker-design-item:hover{background-color:#f0ead8;border-color:#d4c5a0}.picker-design-thumb{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;flex-shrink:0;height:48px;justify-content:center;overflow:hidden;width:48px}.picker-design-thumb img{height:100%;object-fit:cover;width:100%}.picker-design-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.picker-design-name{color:#333;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-design-date{color:#999;font-size:11px}.picker-add-btn{align-items:center;background:#fff;border:2px solid #a3987c;border-radius:50%;color:#a3987c;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:600;height:28px;justify-content:center;line-height:1;transition:all .2s ease;width:28px}.picker-add-btn:hover{background-color:#a3987c;color:#fff}.picker-tools-section{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;flex-direction:column;flex-shrink:0;gap:6px;padding:12px}.picker-tool-btn{background:#fff;border:1px solid #d4c5a0;border-radius:6px;color:#5d4e37;cursor:pointer;font-size:13px;font-weight:500;padding:8px 12px;text-align:left;transition:all .2s ease;width:100%}.picker-tool-btn:hover{background-color:#f0ead8;border-color:#a3987c}.sheet-area{background-color:var(--color-surface-hover);display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.sheet-scroll-container{flex:1 1;overflow:auto;padding:24px}.sheet-viewport{display:inline-block}.sheet-surface{background:#fff;border-radius:2px;box-shadow:0 2px 20px #0000001f,0 0 0 1px #0000000d;overflow:hidden;position:relative}.sheet-empty-state{color:#999;left:50%;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);-webkit-user-select:none;user-select:none}.sheet-empty-state span{display:block;font-size:64px;margin-bottom:16px;opacity:.5}.sheet-empty-state h3{color:#888;font-size:20px;font-weight:500;margin:0 0 8px}.sheet-empty-state p{color:#aaa;font-size:14px;margin:0;max-width:300px}.sheet-image-wrapper{position:absolute;transition:box-shadow .15s ease;-webkit-user-select:none;user-select:none}.sheet-image-wrapper:hover{box-shadow:0 0 0 2px #a3987c66}.sheet-image-wrapper.selected{box-shadow:none}.selection-border{bottom:-2px;left:-2px;pointer-events:none;right:-2px;top:-2px;z-index:1}.resize-handle,.selection-border{border:2px solid #4a90d9;position:absolute}.resize-handle{background:#fff;border-radius:2px;height:12px;width:12px;z-index:10}.resize-handle.nw{cursor:nw-resize;left:-7px;top:-7px}.resize-handle.ne{cursor:ne-resize;right:-7px;top:-7px}.resize-handle.sw{bottom:-7px;cursor:sw-resize;left:-7px}.resize-handle.se{bottom:-7px;cursor:se-resize;right:-7px}.image-toolbar{background:#fff;border:1px solid #d4c5a0;border-radius:8px;box-shadow:0 2px 8px #0000001f;display:flex;gap:4px;left:50%;padding:4px;position:absolute;top:-40px;transform:translateX(-50%);white-space:nowrap;z-index:20}.image-toolbar button{align-items:center;background:#0000;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:14px;height:30px;justify-content:center;transition:background-color .15s ease;width:30px}.image-toolbar button:hover{background-color:#f0ead8}.image-toolbar button.remove-btn:hover{background-color:#fde8e8}.image-label{background:#000000b3;border-radius:4px;bottom:-24px;color:#fff;font-size:11px;left:50%;padding:2px 8px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:20}.sheet-footer{align-items:center;background:#fff;border-top:1px solid #e0e0e0;color:#888;display:flex;flex-shrink:0;font-size:12px;gap:16px;justify-content:space-between;padding:8px 16px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e9ecef;border-radius:50%;border-top-color:#a3987c;height:32px;width:32px}.success-toast{align-items:center;animation:slideInRight .3s ease-out;background-color:#28a745;border-radius:8px;box-shadow:0 4px 16px #28a7454d;color:#fff;display:flex;font-size:14px;font-weight:500;gap:8px;padding:14px 22px;position:fixed;right:24px;top:24px;z-index:99999}@keyframes slideInRight{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}.sheet-table-wrapper{background:#fff;border:1px solid #e0e0e0;border-radius:4px;box-shadow:0 1px 6px #0000001a;position:absolute;transition:box-shadow .15s ease;-webkit-user-select:none;user-select:none}.sheet-table-wrapper:hover{box-shadow:0 2px 10px #00000026}.sheet-table-wrapper.selected{border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d94d}.table-floating-toolbar{background:#fff;border:1px solid #d4c5a0;border-radius:8px;box-shadow:0 2px 8px #0000001f;display:flex;gap:4px;left:50%;padding:4px;position:absolute;top:-36px;transform:translateX(-50%);white-space:nowrap;z-index:20}.table-floating-toolbar button{background:#fff;border:1px solid #d4c5a0;border-radius:4px;color:#5d4e37;cursor:pointer;font-size:11px;font-weight:500;padding:4px 10px;transition:all .15s ease;white-space:nowrap}.table-floating-toolbar button:hover{background-color:#f0ead8;border-color:#a3987c}.table-floating-toolbar button.remove-btn{border-color:#dc3545;color:#dc3545}.table-floating-toolbar button.remove-btn:hover{background-color:#fde8e8}.sheet-table{border:2px solid #333;border-collapse:collapse;width:100%}.sheet-table td{border:1px solid #333;padding:0;vertical-align:middle}.table-cell-input{background:#0000;border:none;box-sizing:border-box;color:#333;font-family:inherit;font-size:14px;font-weight:500;outline:none;padding:8px 12px;width:100%}.table-cell-input:focus{background-color:#faf8f4;box-shadow:inset 0 0 0 2px #4a90d933}.table-cell-input::placeholder{color:#ccc}.table-col-delete-row th{background:#0000!important;border:none!important;height:24px;padding:0!important;text-align:center}.table-row-delete-spacer{background:#0000!important;border:none!important;width:24px}.table-delete-col-btn{align-items:center;background:#fff5f5;border:1px solid #e0b4b4;border-radius:50%;color:#dc3545;cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;height:20px;justify-content:center;line-height:1;padding:0;transition:all .15s ease;width:20px}.table-delete-col-btn:hover{background:#dc3545;border-color:#dc3545;color:#fff;transform:scale(1.15)}.table-row-delete-cell{background:#0000!important;border:none!important;padding:0 2px!important;vertical-align:middle;width:24px}.table-delete-row-btn{align-items:center;background:#fff5f5;border:1px solid #e0b4b4;border-radius:50%;color:#dc3545;cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;height:20px;justify-content:center;line-height:1;margin-left:4px;padding:0;transition:all .15s ease;width:20px}.table-delete-row-btn:hover{background:#dc3545;border-color:#dc3545;color:#fff;transform:scale(1.15)}.back-btn{background-color:#fff;border:1px solid #d4c5a0;border-radius:6px;color:#5d4e37;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.back-btn:hover{background-color:#f0ead8;border-color:#a3987c}.save-pack-btn{background:linear-gradient(135deg,#a3987c,#8b7a5c);border:none;border-radius:6px;box-shadow:0 2px 8px #a3987c40;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px;transition:all .2s ease;white-space:nowrap}.save-pack-btn:hover{background:linear-gradient(135deg,#8b7a5c,#6d5f42);box-shadow:0 4px 12px #a3987c59;transform:translateY(-1px)}.packs-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));padding:0 32px 32px}.folder-breadcrumb{align-items:center;background:#faf8f3;border:1px solid #e8e0cc;border-radius:8px;display:flex;font-size:14px;gap:8px;margin-bottom:12px;padding:10px 16px}.breadcrumb-link{background:none;border:none;border-radius:4px;color:#a3987c;cursor:pointer;font-size:14px;font-weight:500;padding:2px 6px;transition:all .15s ease}.breadcrumb-link:hover{background:#e8e0cc;color:#6b5f48}.breadcrumb-separator{color:#ccc;font-size:14px}.breadcrumb-current{color:#333;font-weight:600}.breadcrumb-folder-actions{display:flex;gap:6px;margin-left:auto}.folder-card{background:#fcfaf5!important;border:2px dashed #d4c5a0!important}.folder-card:hover{background:#f5f0e3!important;border-color:#a3987c!important}.folder-cover{background:linear-gradient(135deg,#f5f0e3,#e8e0cc)!important}.folder-move-option{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:10px 14px;text-align:left;transition:all .15s ease}.folder-move-option:hover:not(:disabled){background:#faf8f3;border-color:#a3987c}.folder-move-option:disabled{cursor:not-allowed;opacity:.5}.folder-move-option.current{background:#f5f0e3;border-color:#a3987c}.folder-current-badge{background:#a3987c;border-radius:10px;color:#fff;font-size:11px;font-weight:500;padding:2px 8px}.pack-folder-tag{color:#a3987c;font-weight:500}.pack-file-card{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-flat);cursor:pointer;overflow:hidden;transition:all .15s ease}.pack-file-card:hover{border-color:var(--color-accent-gold);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.pack-file-cover{align-items:center;background:linear-gradient(135deg,#f0ead8,#dcd1b3 50%,#c4b591);display:flex;height:160px;justify-content:center;overflow:hidden;position:relative;width:100%}.pack-file-cover img{height:100%;object-fit:cover;width:100%}.pack-file-placeholder{align-items:center;display:flex;justify-content:center}.pack-file-placeholder span{font-size:48px;opacity:.5}.pack-file-badge{background-color:#0009;border-radius:12px;bottom:8px;color:#fff;font-size:11px;font-weight:500;padding:3px 10px;position:absolute;right:8px}.pack-file-info{padding:14px 16px 8px}.pack-file-name{color:#333;font-size:16px;font-weight:600;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pack-file-date{color:#999;font-size:12px}.pack-file-actions{display:flex;gap:8px;padding:8px 16px 14px}.pack-action-btn{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:4px;padding:6px 14px;transition:all .2s ease}.pack-action-btn.edit{background-color:var(--color-cta-bg);border:none;color:#fff;flex:1 1;justify-content:center}.pack-action-btn.edit:hover{background-color:var(--color-cta-hover)}.pack-action-btn.delete{background-color:#fff;border:1px solid #dc3545;color:#dc3545}.pack-action-btn.delete:hover{background-color:#dc3545;color:#fff}.pack-delete-modal-overlay{align-items:center;background-color:#8b7a5ccc;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:99999}.pack-delete-modal{background-color:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-width:420px;padding:28px;text-align:center;width:90%}.pack-delete-modal h3{color:#333;font-size:18px;font-weight:600;margin:0 0 12px}.pack-delete-modal p{color:#666;font-size:14px;line-height:1.5;margin:0 0 24px}.modal-actions{display:flex;gap:12px;justify-content:center}.modal-btn{border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s ease}.modal-btn.cancel{background-color:#fff;border:1px solid #ddd;color:#666}.modal-btn.cancel:hover{background-color:#f8f9fa;border-color:#999}.modal-btn.delete{background-color:#dc3545;border:none;color:#fff}.modal-btn.delete:hover{background-color:#c82333}.sheet-textbox-wrapper{border:1px solid #0000;border-radius:3px;min-width:60px;position:absolute;transition:border-color .15s ease;-webkit-user-select:none;user-select:none}.sheet-textbox-wrapper:hover{border-color:#a3987c66}.sheet-textbox-wrapper.selected{border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d933}.sheet-textbox-input{background:#0000;border:none;font-family:inherit;line-height:1.4;min-height:28px;outline:none;overflow:hidden;padding:4px 6px;resize:both;width:200px}.sheet-textbox-input:focus{background-color:#ffffff80}.sheet-textbox-input::placeholder{color:#ccc}.sheet-image-wrapper.locked{box-shadow:none}.sheet-image-wrapper.locked:hover{box-shadow:0 0 0 2px #4a90d94d}.selection-border.locked{border-color:#e8a030;border-style:dashed}.image-lock-badge{align-items:center;background:#e8a030e6;border-radius:50%;box-shadow:0 1px 4px #0003;display:flex;font-size:12px;height:24px;justify-content:center;pointer-events:none;position:absolute;right:4px;top:4px;width:24px;z-index:15}.image-toolbar button.lock-btn{border:1px solid #0000;transition:all .15s ease}.image-toolbar button.lock-btn:hover{background-color:#fff3d6}.image-toolbar button.lock-btn.active{background-color:#fff3d6;border-color:#e8a030}.sheet-copyright-message{bottom:8px;color:#555;font-size:9px;font-weight:600;left:20px;letter-spacing:.3px;line-height:1.4;pointer-events:none;position:absolute;right:20px;text-align:center;-webkit-user-select:none;user-select:none;z-index:900}.picker-tool-btn-active{background-color:#4a90d9!important;border-color:#4a90d9!important;color:#fff!important}.save-folder-options{display:flex;flex-direction:column;gap:8px}.save-folder-option{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:12px 14px;transition:all .15s ease}.save-folder-option:hover{background:#faf8f3;border-color:#d4c5a0}.save-folder-option.active{background:#f5f0e3;border-color:#a3987c}.save-folder-option input[type=radio]{accent-color:#a3987c;flex-shrink:0;height:16px;width:16px}.save-folder-option-content{align-items:center;display:flex;flex:1 1;gap:10px}.save-folder-option-icon{flex-shrink:0;font-size:22px}.save-folder-option-content strong{color:#333;display:block;font-size:14px;margin-bottom:1px}.save-folder-option-desc{color:#999;display:block;font-size:12px;font-weight:400}.save-folder-dropdown-area{margin-left:28px;padding:8px 0 4px}@media (max-width:900px){.design-pack-workspace{flex-direction:column}.design-picker-panel{border-bottom:1px solid #e0e0e0;border-right:none;max-height:250px;min-width:0;width:100%}.picker-designs-list{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;padding:8px 12px}.picker-design-item{flex-direction:column;margin-bottom:0;min-width:100px;text-align:center}}.login-page-container{align-items:center;background:linear-gradient(135deg,#e5e7eb,#d1d5db);display:flex;justify-content:center;min-height:100vh;padding:20px;position:relative}.language-selector-wrapper{position:absolute;right:24px;top:24px;z-index:10}.login-page-card{background:#fff;border:none;border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:420px;overflow:hidden;padding:48px;position:relative;width:100%}.login-page-card:before{background:#dcd1b3;content:"";height:4px;left:0;position:absolute;right:0;top:0}.login-page-header{margin-bottom:40px;padding-top:20px;text-align:center}.login-page-header h1{color:#1f2937;font-family:Geologica,-apple-system,BlinkMacSystemFont,sans-serif;font-size:32px;font-weight:600;letter-spacing:-.5px;margin:0 0 12px}.login-page-header p{color:#6b7280;font-size:16px;line-height:1.5;margin:0}.login-page-form{margin-bottom:24px}.sso-button{align-items:center;background:linear-gradient(135deg,#dcd1b3,#c9bc9a);border:none;border-radius:12px;box-shadow:0 4px 12px #dcd1b34d;box-sizing:border-box;color:#4a4235;cursor:pointer;display:flex;font-size:16px;font-weight:500;justify-content:center;margin-bottom:20px;overflow:hidden;padding:16px 24px;position:relative;transition:all .2s ease;width:100%}.sso-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.sso-button:hover:not(:disabled):before{left:100%}.sso-button:hover:not(:disabled){background:linear-gradient(135deg,#c9bc9a,#b8a987);box-shadow:0 8px 20px #dcd1b366;transform:translateY(-2px)}.sso-button:active:not(:disabled){box-shadow:0 2px 8px #dcd1b34d;transform:translateY(0)}.sso-button:disabled{animation:pulse 1.5s ease-in-out infinite;background:linear-gradient(135deg,#9ca3af,#6b7280);box-shadow:0 2px 8px #0000001a;color:#fff;cursor:not-allowed;transform:none}.sso-button svg{margin-right:8px}.helper-text{margin-bottom:24px;text-align:center}.helper-text p{color:#666;font-size:14px;line-height:1.5;margin:0}.divider{margin:24px 0;position:relative}.divider:before{background-color:#e1e5e9;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.divider span{background-color:#fff;color:#666;display:inline-block;font-size:14px;left:50%;padding:0 16px;position:relative;transform:translateX(-50%)}.security-info{align-items:flex-start;background:linear-gradient(135deg,#faf9f7,#f3f4f6);border:1px solid #dcd1b3;border-radius:12px;display:flex;margin-bottom:24px;padding:16px}.security-info-icon{flex-shrink:0;margin-right:12px}.security-info-icon svg{color:#dcd1b3;height:20px;width:20px}.security-info-content h3{color:#b8a987;font-size:14px;font-weight:500;margin:0 0 4px}.security-info-content p{color:#a5967c;font-size:14px;line-height:1.4;margin:0}.login-page-footer{border-top:1px solid #e9ecef;padding-top:24px;text-align:center}.login-page-footer p{color:#666;font-size:14px;line-height:1.5;margin:0}@media (max-width:480px){.login-page-container{padding:16px}.language-selector-wrapper{right:16px;top:16px}.login-page-card{padding:32px 24px}.login-page-header h1{font-size:28px}.login-page-header p,.sso-button{font-size:15px}.sso-button{padding:12px 20px}}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinner{animation:spin 1s linear infinite;margin-right:8px}
/*# sourceMappingURL=main.c4d57f4e.css.map*/