@import "https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600&family=Geist+Mono:wght@400;500&display=swap";:root{--bg:#f2eee8;--surface:#fff;--surface-2:#f9f7f4;--surface-3:#f0ede8;--surface-4:#e6e1da;--sidebar-bg:#fff;--sidebar-2:#f9f7f4;--sidebar-3:#e8e4de;--border:#ddd7cf;--border-lt:#e8e4de;--border-md:#c8c1b6;--border-dk:#a89e91;--text:#1a1614;--text-2:#48403a;--text-3:#7a706a;--text-4:#a89e98;--accent:#b5491e;--accent-dim:#b5491e17;--accent-dk:#963c18;--accent-lt:#cd6b42;--accent-pale:#f8ede7;--success:#2d6a4a;--success-dim:#2d6a4a14;--warning:#7a5c00;--warning-dim:#7a5c0017;--danger:#a8282a;--danger-dim:#a8282a14;--info:#2b5fa8;--info-dim:#2b5fa817;--st-cotizado:#2b5fa8;--st-confirmado:#2d6a4a;--st-proceso:#7a5c00;--st-entregado:#2d6a4a;--st-cancelado:#a8282a;--r-xs:2px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:10px;--sh-sm:0 1px 2px #1a16140d, 0 1px 1px #1a161408;--sh-md:0 3px 8px #1a161412, 0 1px 3px #1a16140a;--sh-lg:0 8px 24px #1a16141a, 0 3px 6px #1a16140d;--sidebar-w:216px;--header-h:48px;--transition:.13s cubic-bezier(.2,0,.38,.9);--z-header:100;--z-sidebar:200;--z-nudge:450;--z-modal:500;--z-app-overlay:900;--z-toast:1000;--z-blocking:1100;--font:"Geist", ui-sans-serif, -apple-system, BlinkMacSystemFont, sans-serif;--mono:"Geist Mono", ui-monospace, "Cascadia Code", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;height:100%;overflow:hidden}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;height:100%;font-size:13px;line-height:1.55;overflow:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img,svg{display:block}button{font-family:var(--font);cursor:pointer}button:focus{outline:none}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{font-family:var(--font)}ul,ol{list-style:none}#app{grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--header-h) 1fr;grid-template-areas:"sidebar header""sidebar main";height:100vh;display:grid;overflow:hidden}#app-header{background:var(--surface);border-bottom:1px solid var(--border-lt);box-shadow:0 1px 0 var(--border-lt), 0 2px 6px #1a16140a;z-index:var(--z-header);grid-area:header;justify-content:space-between;align-items:center;padding:0 20px 0 18px;display:flex;position:relative}.header-title{color:var(--text);font-size:15px;font-weight:400;font-family:var(--font);letter-spacing:-.2px}.header-title strong{color:var(--text);font-weight:600}.header-actions{align-items:center;gap:8px;display:flex}#app-sidebar{background:var(--sidebar-bg);height:100%;z-index:var(--z-sidebar);border-right:1px solid var(--sidebar-3);flex-direction:column;grid-area:sidebar;display:flex;overflow:hidden auto}.sidebar-logo{height:var(--header-h);border-bottom:1px solid var(--sidebar-3);flex-shrink:0;align-items:center;gap:9px;padding:0 14px;text-decoration:none;display:flex}.sidebar-logo-icon{background:var(--accent);border-radius:var(--r-sm);flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.sidebar-logo-icon svg{width:13px;height:13px}.sidebar-logo-text{color:var(--text);letter-spacing:-.2px;font-size:13px;font-weight:500}.sidebar-logo-text span{color:var(--text-3);font-weight:400}.sidebar-section{padding:14px 8px 2px}.sidebar-section-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-4);font-size:10px;font-weight:500;font-family:var(--mono);padding:0 6px 4px}.sidebar-nav{flex-direction:column;display:flex}.nav-item{border-radius:var(--r-sm);color:var(--text-3);transition:background var(--transition), color var(--transition);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:6px 8px;font-size:12.5px;font-weight:400;text-decoration:none;display:flex;position:relative}.nav-item:hover{color:var(--text-2);background:#0000000d}.nav-item.active{color:var(--accent-dk);background:#b5491e1a;font-weight:500}.nav-item.active:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:2px;position:absolute;top:5px;bottom:5px;left:0}.nav-item-icon{text-align:center;opacity:.5;flex-shrink:0;width:15px;font-size:12px}.nav-item.active .nav-item-icon{opacity:1}.sidebar-footer{border-top:1px solid var(--sidebar-3);flex-shrink:0;margin-top:auto;padding:10px 14px}.sidebar-version{color:var(--text-4);font-size:10px;font-family:var(--mono)}#app-content{grid-area:main;height:100%;min-height:0;padding:20px 24px 40px;overflow-y:auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.page-title{letter-spacing:-.4px;color:var(--text);font-size:15px;font-weight:600;line-height:1.25}.page-subtitle{color:var(--text-3);font-size:11px;font-family:var(--mono);margin-top:2px}.page-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.page-loading{justify-content:center;align-items:center;min-height:300px;display:flex}.spinner{border:1.5px solid var(--border-md);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{min-height:240px;color:var(--text-3);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.empty-icon{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:4px;font-size:16px;display:flex}.empty-state p{max-width:280px;font-size:12px;font-family:var(--mono);color:var(--text-3)}.empty-state.error{color:var(--danger)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:16px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:box-shadow var(--transition);flex-direction:column;gap:3px;padding:14px 16px;display:flex;position:relative;overflow:hidden}.stat-card:hover{box-shadow:var(--sh-md)}.stat-card:before{content:"";background:var(--border);height:2px;position:absolute;top:0;left:0;right:0}.stat-card.primary:before{background:var(--accent)}.stat-card.success:before{background:var(--success)}.stat-card.warning:before{background:var(--warning)}.stat-card.danger:before{background:var(--danger)}.stat-card-label{font-family:var(--mono);color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:10px}.stat-card-value{letter-spacing:-.8px;color:var(--text);font-size:23px;font-weight:600;font-family:var(--mono);line-height:1.1}.stat-card.primary .stat-card-value{color:var(--accent)}.stat-card.warning .stat-card-value{color:var(--warning)}.stat-card.danger .stat-card-value{color:var(--danger)}.stat-card.success .stat-card-value{color:var(--success)}.stat-card-sub{color:var(--text-4);font-size:11px;font-family:var(--mono)}.text-muted{color:var(--text-2)}.text-subtle{color:var(--text-3)}.text-primary{color:var(--accent)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-navy{color:var(--text)}.text-sm{font-size:12px}.text-xs{font-size:10.5px}.font-mono{font-family:var(--mono)}.font-cond{font-family:var(--font)}.font-bold{font-weight:600}.font-medium{font-weight:500}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.w-full{width:100%}.dash-sections-grid{grid-template-columns:1fr;align-items:start;gap:24px;margin-top:8px;display:grid}@media (width>=768px){.dash-sections-grid{grid-template-columns:1fr 1fr}}.list-item-bordered{border-bottom:1px solid var(--border-lt);padding:10px 0}@media (width<=768px){#app{grid-template-columns:1fr;grid-template-areas:"header""main"}#app-sidebar{display:none}#app-content{padding:14px}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface-4);border-radius:9px}::-webkit-scrollbar-thumb:hover{background:var(--border-md)}.hover-lift{transition:transform var(--transition), box-shadow var(--transition)}.hover-lift:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}.hover-scale{transition:transform var(--transition)}.hover-scale:hover{transform:scale(1.03)}.hover-scale-lg{transition:transform var(--transition)}.hover-scale-lg:hover{transform:scale(1.15)}.hover-accent{transition:color var(--transition)}.hover-accent:hover{color:var(--accent)!important}.hover-opacity{transition:opacity var(--transition)}.hover-opacity:hover{opacity:.8}.hover-opacity-85{transition:opacity var(--transition)}.hover-opacity-85:hover{opacity:.85}.hover-surface-3{transition:background var(--transition)}.hover-surface-3:hover{background:var(--surface-3)!important}.hover-underline:hover{text-decoration:underline}.hover-text{transition:color var(--transition)}.hover-text:hover{color:var(--text)!important}.btn{border-radius:var(--r-sm);transition:all var(--transition);white-space:nowrap;font-size:12.5px;font-weight:500;line-height:1.4;font-family:var(--font);cursor:pointer;border:1px solid #0000;align-items:center;gap:5px;height:30px;padding:5px 12px;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--text);color:#fff;border-color:var(--text)}.btn-primary:hover{background:#2e2825}.btn-accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-accent:hover{background:var(--accent-dk);border-color:var(--accent-dk)}.btn-secondary{background:var(--surface);color:var(--text-2);border-color:var(--border);box-shadow:var(--sh-sm)}.btn-secondary:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-md)}.btn-ghost{color:var(--text-3);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-3);color:var(--text-2)}.btn-danger{background:var(--danger-dim);color:var(--danger);border-color:#a8282a33}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{height:26px;padding:3px 8px;font-size:11.5px}.btn-lg{height:34px;padding:7px 16px;font-size:13px}.btn-icon{border-radius:var(--r-sm);aspect-ratio:1;height:auto;padding:5px}.btn-icon.btn-sm{padding:4px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:16px}.card-title{color:var(--text);align-items:center;gap:7px;margin-bottom:14px;font-size:12.5px;font-weight:600;display:flex}.card-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.badge{border-radius:var(--r-xs);white-space:nowrap;font-size:10.5px;font-weight:500;font-family:var(--mono);align-items:center;gap:4px;padding:1px 7px;display:inline-flex}.badge-primary{background:var(--accent-dim);color:var(--accent-dk);border:1px solid #b5491e33}.badge-success{background:var(--success-dim);color:var(--success);border:1px solid #2d6a4a33}.badge-warning{background:var(--warning-dim);color:var(--warning);border:1px solid #7a5c0033}.badge-danger{background:var(--danger-dim);color:var(--danger);border:1px solid #a8282a33}.badge-info{background:var(--info-dim);color:var(--info);border:1px solid #2b5fa833}.badge-neutral{background:var(--surface-2);color:var(--text-3);border:1px solid var(--border)}.estado-badge[data-estado=Cotizado]{color:var(--st-cotizado);border-radius:var(--r-xs);font-size:10.5px;font-weight:500;font-family:var(--mono);background:#2b5fa814;border:1px solid #2b5fa82e;padding:1px 7px}.estado-badge[data-estado=Confirmado]{color:var(--st-confirmado);border-radius:var(--r-xs);font-size:10.5px;font-weight:500;font-family:var(--mono);background:#2d6a4a14;border:1px solid #2d6a4a2e;padding:1px 7px}.estado-badge[data-estado=En\ Proceso]{color:var(--st-proceso);border-radius:var(--r-xs);font-size:10.5px;font-weight:500;font-family:var(--mono);background:#7a5c0014;border:1px solid #7a5c002e;padding:1px 7px}.estado-badge[data-estado=Entregado]{color:var(--st-entregado);border-radius:var(--r-xs);font-size:10.5px;font-weight:500;font-family:var(--mono);background:#2d6a4a14;border:1px solid #2d6a4a2e;padding:1px 7px}.estado-badge[data-estado=Cancelado]{color:var(--st-cancelado);border-radius:var(--r-xs);font-size:10.5px;font-weight:500;font-family:var(--mono);background:#a8282a14;border:1px solid #a8282a2e;padding:1px 7px}.nav-dot{border:1.5px solid var(--sidebar-bg);z-index:10;border-radius:50%;width:7px;height:7px;position:absolute;top:-1px;right:-3px}.nav-dot.danger{background-color:var(--danger)}.nav-dot.warning{background-color:var(--warning)}.nav-dot.success{background-color:var(--success)}.table-wrapper{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12.5px}.data-table thead{background:var(--surface-2)}.data-table th{text-align:left;font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);border-bottom:1px solid var(--border);white-space:nowrap;padding:7px 12px;font-size:9.5px;font-weight:500}.data-table td{border-bottom:1px solid var(--border-lt);vertical-align:middle;color:var(--text-2);padding:9px 12px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--transition)}.data-table tbody tr:hover{background:var(--surface-2)}.col-actions{text-align:right;width:110px}.col-actions .flex{justify-content:flex-end}.data-table td.col-number{font-family:var(--mono);color:var(--text);font-size:12px;font-weight:500}.form-group{flex-direction:column;gap:4px;display:flex}.form-label{font-family:var(--mono);color:var(--text-2);font-size:10.5px;font-weight:400}.form-input,.form-select,.form-textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);width:100%;font-size:12.5px;font-family:var(--font);height:30px;padding:6px 10px}.form-textarea{height:auto;padding:7px 10px}.form-input:hover,.form-select:hover{border-color:var(--border-md)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #b5491e1f}.form-input::placeholder{color:var(--text-4)}.form-textarea{resize:vertical;height:auto;min-height:72px;line-height:1.5}.form-select option{background:var(--surface)}.form-input:not(:placeholder-shown):invalid,.form-select:not(:placeholder-shown):invalid:not([value=""]),.form-textarea:not(:placeholder-shown):invalid{border-color:var(--danger-dim);background-color:#a8282a05}.form-input:not(:placeholder-shown):invalid:focus,.form-select:not(:placeholder-shown):invalid:focus,.form-textarea:not(:placeholder-shown):invalid:focus{border-color:var(--danger);box-shadow:0 0 0 2px #a8282a1f}.form-hint{color:var(--text-3);font-size:11px;font-family:var(--mono)}.form-error{color:var(--danger);font-size:11px;font-family:var(--mono)}.form-input.error,.form-select.error{border-color:var(--danger);box-shadow:0 0 0 2px #a8282a1f}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-grid-3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.form-row{gap:12px;display:flex}.form-row .form-group{flex:1}.form-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.checkbox-group{flex-wrap:wrap;gap:8px;display:flex}.checkbox-item{cursor:pointer;align-items:center;gap:6px;font-size:12.5px;display:flex}.checkbox-item input[type=checkbox]{accent-color:var(--accent);width:13px;height:13px}input[type=range]{accent-color:var(--accent)}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:var(--z-modal);background:#1a161473;justify-content:center;align-items:center;padding:20px;animation:.11s fadeIn;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);border:1px solid var(--border-md);border-radius:var(--r-xl);box-shadow:var(--sh-lg);overscroll-behavior:contain;width:100%;max-width:520px;max-height:88vh;animation:.13s cubic-bezier(.2,0,.38,.9) slideUp;overflow-y:auto}.modal-box.modal-lg{max-width:720px}.modal-box.modal-xl{max-width:920px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-title{color:var(--text);letter-spacing:-.2px;font-size:14px;font-weight:600}.modal-close{color:var(--text-3);cursor:pointer;border-radius:var(--r-xs);transition:all var(--transition);background:0 0;border:none;padding:3px 5px;font-size:18px;line-height:1}.modal-close:hover{color:var(--text);background:var(--surface-3)}.modal-body{flex-direction:column;gap:12px;padding:14px 18px 18px;display:flex}.modal-footer{border-top:1px solid var(--border);background:var(--surface-2);justify-content:flex-end;align-items:center;gap:8px;padding:12px 18px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:none}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (width<=600px){.modal-box{border-radius:var(--r-lg)}.modal-header{padding:12px 14px}.modal-body{padding:10px 14px 16px}}#toast-container{z-index:var(--z-toast);flex-direction:column;gap:6px;max-width:320px;display:flex;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--r-lg);box-shadow:var(--sh-lg);background:#1a1614;border:1px solid #ffffff14;border-left-width:3px;align-items:flex-start;gap:9px;padding:10px 12px;font-size:12.5px;animation:.18s cubic-bezier(.2,0,.38,.9) slideInRight,.28s 3.72s forwards fadeOut;display:flex}.toast-icon{flex-shrink:0;margin-top:1px;font-size:13px}.toast-msg{color:#f5f2ee;font-size:12px;line-height:1.5;font-family:var(--mono);flex:1}.toast.success{border-left-color:var(--success)}.toast.error{border-left-color:var(--danger)}.toast.warning{border-left-color:var(--warning)}.toast.info{border-left-color:var(--accent)}@keyframes slideInRight{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@keyframes fadeOut{to{opacity:0;pointer-events:none;transform:translate(14px)}}@media (width<=600px){#toast-container{bottom:10px;left:10px;right:10px}}.kanban-board{overscroll-behavior-x:contain;gap:16px;margin-top:16px;padding-bottom:16px;display:flex;overflow-x:auto}.kanban-col{background:var(--surface-2);border-radius:var(--r-lg);border:1px solid var(--border);flex-direction:column;flex:0 0 280px;gap:10px;padding:12px;display:flex}.kanban-col-header{border-bottom:1px solid var(--border-lt);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.kanban-count{font-size:11px;font-family:var(--mono);color:var(--text-3);background:var(--surface-3);border-radius:10px;padding:2px 6px}.kanban-items{flex-direction:column;flex:1;gap:10px;min-height:40px;display:flex}.kanban-col.drag-over{border-color:var(--accent-dim);background:#b5491e0d}.kanban-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);cursor:grab;box-shadow:var(--sh-sm);transition:box-shadow var(--transition), transform var(--transition);flex-direction:column;padding:12px;display:flex}.kanban-card:active{cursor:grabbing}.kanban-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1a161414}.kanban-card.dragging{opacity:.5;transform:scale(.98)}.view-toggle{display:flex}.view-toggle .btn{border-color:var(--border);border-radius:0}.view-toggle .btn:first-child{border-radius:var(--r-sm) 0 0 var(--r-sm)}.view-toggle .btn:last-child{border-radius:0 var(--r-sm) var(--r-sm) 0;border-left:none}.view-toggle .btn.active{background:var(--surface-3);color:var(--text);box-shadow:inset 0 2px 4px #00000005}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.search-box{flex:1;min-width:180px;position:relative}.search-box .search-icon{color:var(--text-4);pointer-events:none;font-size:12px;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.search-box .form-input{padding-left:28px}.tabs{border-bottom:1px solid var(--border);margin-bottom:16px;display:flex}.tab-btn{color:var(--text-3);cursor:pointer;transition:all var(--transition);white-space:nowrap;font-size:12.5px;font-weight:400;font-family:var(--font);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:7px 14px}.tab-btn.active{color:var(--text);border-bottom-color:var(--accent);font-weight:500}.tab-btn:hover:not(.active){color:var(--text-2);background:var(--surface-2)}.result-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px}.result-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.result-item-label{font-family:var(--mono);color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:10px}.result-item-value{font-size:18px;font-weight:600;font-family:var(--mono);color:var(--text);letter-spacing:-.5px}.price-main{color:var(--accent);letter-spacing:-1.5px;font-size:34px;font-weight:600;font-family:var(--mono)}.alert{border-radius:var(--r-sm);font-size:12.5px;line-height:1.5;font-family:var(--mono);border-left:2px solid;align-items:flex-start;gap:9px;padding:9px 12px;display:flex}.alert-warning{background:var(--warning-dim);border-color:var(--warning);color:var(--warning)}.alert-danger{background:var(--danger-dim);border-color:var(--danger);color:var(--danger)}.alert-success{background:var(--success-dim);border-color:var(--success);color:var(--success)}.alert-info{background:var(--info-dim);border-color:var(--info);color:var(--info)}.alert-icon{flex-shrink:0;margin-top:1px;font-size:13px}.divider{border:none;border-top:1px solid var(--border);margin:14px 0}.progress-bar{background:var(--surface-3);border-radius:9px;height:3px;overflow:hidden}.progress-bar-fill{background:var(--accent);border-radius:9px;height:100%;transition:width .35s}.progress-bar-fill.success{background:var(--success)}.progress-bar-fill.warning{background:var(--warning)}.progress-bar-fill.danger{background:var(--danger)}.filter-chips{scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:6px;display:flex;overflow-x:auto}.filter-chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:11.5px;font-family:var(--mono);cursor:pointer;white-space:nowrap;transition:all var(--transition);border-radius:16px;padding:4px 12px;font-weight:500}.chip:hover{background:var(--surface-2);border-color:var(--border-md)}.chip.active{background:var(--text);color:#fff;border-color:var(--text)}.profile-upload-row{align-items:center;gap:18px;margin-bottom:18px;display:flex}.profile-upload-actions{flex-direction:column;gap:6px;display:flex}.profile-upload-actions .btn-link{font-size:11px;font-family:var(--font);color:var(--danger);cursor:pointer;text-align:left;transition:opacity var(--transition);background:0 0;border:none;padding:2px 0}.profile-upload-actions .btn-link:hover{opacity:.7}.profile-avatar{background:var(--accent);color:#fff;letter-spacing:.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:24px;font-weight:700;display:flex;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-logo{border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-3);width:84px;height:84px;color:var(--text-3);font-size:11px;font-family:var(--mono);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.profile-logo img{object-fit:contain;width:100%;height:100%}.profile-form{flex-direction:column;gap:14px;max-width:640px;display:flex}.com-container{max-width:820px;margin:0 auto;padding:0 0 40px}.com-detail-container{max-width:920px;margin:0 auto;padding:0 0 40px}.com-breadcrumb{color:var(--text-4);align-items:center;gap:6px;margin-bottom:20px;font-size:12px;display:flex}.com-breadcrumb a{color:var(--accent);text-decoration:none}.com-filter-bar{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.com-filter-group{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:20px;display:flex}.com-filter-divider{background:var(--border);flex-shrink:0;width:1px;height:24px;margin:0 2px}.com-filter-tag-chip{align-items:center;gap:8px;margin-bottom:16px;display:flex}.com-filter-tag-chip span{color:var(--text-3);font-size:12px}.com-filter-tag-btn{background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent);border-radius:var(--r-sm);cursor:pointer;font-size:12px;font-weight:500;font-family:var(--font);align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.com-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.com-grid-related{margin-top:40px}.com-grid-related h2{color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;font-size:14px;font-weight:600}.com-trending{margin-bottom:24px}.com-trending-title{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:5px;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.com-trending-scroll{scrollbar-width:thin;scrollbar-color:var(--border) transparent;gap:10px;padding-bottom:8px;display:flex;overflow-x:auto}.com-profile-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);align-items:flex-start;gap:20px;padding:24px;display:flex}.com-profile-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:80px;height:80px}.com-profile-avatar-fallback{background:var(--accent-dim);width:80px;height:80px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.com-profile-info{flex:1}.com-profile-name-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.com-profile-name{color:var(--text);margin:0;font-size:20px;font-weight:700}.com-founder-badge{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#b5491e,#d4783a);border-radius:3px;padding:2px 8px;font-size:10px;font-weight:600}.com-founder-badge svg{vertical-align:text-top}.com-profile-username{color:var(--text-4);margin:4px 0 0;font-size:12px}.com-profile-bio{color:var(--text-2);margin:10px 0 0;font-size:13px;line-height:1.6}.com-profile-website{color:var(--accent);margin-top:8px;font-size:12px;text-decoration:none;display:inline-block}.com-profile-website svg{vertical-align:middle;margin-right:3px;display:inline}.com-profile-stats{text-align:center;flex-shrink:0;gap:20px;display:flex}.com-profile-stat-val{color:var(--text);font-size:18px;font-weight:700}.com-profile-stat-lbl{color:var(--text-4);font-size:11px}.com-detail-grid{grid-template-columns:1fr 380px;align-items:start;gap:32px;display:grid}.com-detail-preview{background:var(--surface-3);border-radius:var(--r-xl);aspect-ratio:1;justify-content:center;align-items:center;display:flex;overflow:hidden}.com-detail-preview img{object-fit:contain;max-width:100%;max-height:100%}.com-detail-panel{flex-direction:column;gap:16px;display:flex}.com-detail-badges{flex-wrap:wrap;gap:5px;display:flex}.com-detail-title{color:var(--text);margin:0;font-size:22px;font-weight:700;line-height:1.3}.com-detail-desc{color:var(--text-2);font-size:13px;line-height:1.7}.com-detail-tags{flex-wrap:wrap;gap:5px;display:flex}.com-detail-tag-link{color:var(--text-4);background:var(--surface-2);border:1px solid var(--border-lt);transition:color var(--transition);border-radius:3px;padding:2px 7px;font-size:11px;text-decoration:none}.com-detail-stats{color:var(--text-4);border-top:1px solid var(--border-lt);border-bottom:1px solid var(--border-lt);align-items:center;gap:16px;padding:10px 0;font-size:12px;display:flex}.com-detail-stats span{align-items:center;gap:3px;display:inline-flex}.com-detail-actions{flex-direction:column;gap:8px;display:flex}.com-detail-share{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.com-detail-share span{color:var(--text-4);font-size:11px;font-weight:500}.com-detail-share-pin{color:#e60023;border-radius:var(--r-sm);transition:opacity var(--transition);background:#fff0f0;border:1px solid #ffd0d0;align-items:center;gap:4px;padding:3px 8px;font-size:11px;text-decoration:none;display:inline-flex}.com-detail-share-copy{color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;font-size:11px;font-family:var(--font);transition:background var(--transition);padding:3px 8px}.com-detail-author{background:var(--surface-2);border-radius:var(--r-md);border:1px solid var(--border-lt);align-items:center;gap:8px;padding:10px;display:flex}.com-detail-author img{object-fit:cover;border-radius:50%;flex-shrink:0;width:32px;height:32px}.com-detail-author-fallback{background:var(--surface-3);width:32px;height:32px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.com-detail-author-info{flex-direction:column;display:flex}.com-detail-author-info span{color:var(--text-4);font-size:11px}.com-detail-author-btn{color:var(--accent);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font);text-align:left;background:0 0;border:none;padding:0}.com-detail-report-btn{color:var(--text-4);cursor:pointer;text-align:left;font-size:11px;font-family:var(--font);transition:color var(--transition);background:0 0;border:none;align-items:center;gap:4px;padding:0;display:flex}.com-detail-remix-banner{background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--r-md);align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.com-detail-remix-banner svg{flex-shrink:0;margin-top:1px}.com-detail-remix-banner div{color:var(--text-2);font-size:11.5px;line-height:1.45}.com-form{flex-direction:column;gap:14px;display:flex}.com-dropzone{border:2px dashed var(--border-md);border-radius:var(--r-lg);text-align:center;cursor:pointer;background:var(--surface-2);transition:border-color var(--transition), background var(--transition);padding:28px 16px}.com-dropzone-icon{opacity:.6;margin-bottom:6px;font-size:28px}.com-dropzone-label{color:var(--text-2);font-size:13px;font-weight:500}.com-dropzone-hint{color:var(--text-4);margin-top:4px;font-size:11px}.com-form-field label{color:var(--text-3);margin-bottom:4px;font-size:12px;font-weight:500;display:block}.com-form-field label span.required{color:var(--accent)}.com-form-input{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);width:100%;color:var(--text);font-size:13px;font-family:var(--font);transition:border-color var(--transition);outline:none;padding:8px 10px}.com-form-input:focus{border-color:var(--accent)}.com-form-textarea{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);width:100%;color:var(--text);font-size:13px;font-family:var(--font);resize:vertical;min-height:70px;transition:border-color var(--transition);outline:none;padding:8px 10px}.com-form-textarea:focus{border-color:var(--accent)}.com-form-row-3{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.com-form-select{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);width:100%;color:var(--text);font-size:12px;font-family:var(--font);cursor:pointer;outline:none;padding:7px 10px}.com-form-submit-btn{background:var(--accent);color:#fff;border-radius:var(--r-md);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);transition:opacity var(--transition);border:none;padding:10px}.com-error-alert{background:var(--danger-dim);color:var(--danger);border-radius:var(--r-md);padding:8px 12px;font-size:12px}.com-empty-state{text-align:center;color:var(--text-3);padding:60px 24px}.com-empty-state-icon{color:var(--accent);justify-content:center;margin-bottom:12px;display:flex}.com-empty-state-title{color:var(--text-2);margin-bottom:6px;font-size:15px;font-weight:600}.com-empty-state-text{margin-bottom:16px;font-size:13px}.com-search-bar{margin-bottom:16px;position:relative}.com-search-icon{color:var(--text-4);pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.com-search-input{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);width:100%;color:var(--text);font-size:13px;font-family:var(--font);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:9px 12px 9px 36px}.com-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}@media (width<=768px){.com-profile-header{text-align:center;flex-direction:column;align-items:center}.com-profile-name-row{justify-content:center}.com-profile-stats{border-top:1px solid var(--border-lt);justify-content:center;width:100%;margin-top:16px;padding-top:16px}.com-detail-grid{grid-template-columns:1fr;gap:20px}}.com-asset-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--sh-sm);transition:box-shadow var(--transition), transform var(--transition);flex-direction:column;display:flex;overflow:hidden}.com-asset-card-preview{background:var(--surface-3);flex-shrink:0;justify-content:center;align-items:center;min-height:160px;max-height:280px;text-decoration:none;display:flex;position:relative;overflow:hidden}.com-asset-card-img{object-fit:contain;width:100%;height:auto;max-height:280px;transition:transform .3s;display:block}.com-asset-card-badge-type{color:#fff;font-size:9px;font-family:var(--mono);letter-spacing:.05em;background:#1a161499;border-radius:3px;padding:2px 6px;font-weight:600;position:absolute;top:8px;right:8px}.com-asset-card-badge-featured{background:var(--accent);color:#fff;border-radius:3px;padding:2px 7px;font-size:9px;font-weight:600;position:absolute;top:8px;left:8px}.com-asset-card-badge-remixable{color:#fff;letter-spacing:.02em;background:#1a1614bf;border-radius:3px;align-items:center;gap:3px;padding:2px 6px;font-size:9px;font-weight:600;display:inline-flex;position:absolute;bottom:8px;left:8px}.com-asset-card-info{flex-direction:column;flex:1;gap:5px;padding:12px;display:flex}.com-asset-card-tags{flex-wrap:wrap;gap:3px;margin-top:1px;display:flex}.com-asset-card-tag{color:var(--text-4);cursor:pointer;background:var(--surface-2);border:1px solid var(--border-lt);transition:color var(--transition);border-radius:3px;padding:1px 5px;font-size:10px}.com-asset-card-footer{border-top:1px solid var(--border-lt);justify-content:space-between;align-items:center;padding-top:8px;display:flex}.com-asset-card-stats{color:var(--text-4);align-items:center;gap:10px;font-size:11px;display:flex}.com-asset-card-stats span{align-items:center;gap:2px;display:inline-flex}.com-asset-card-actions{align-items:center;gap:4px;display:flex}.com-asset-card-btn-save{cursor:pointer;color:var(--text-4);transition:color var(--transition), transform var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:4px 8px;display:inline-flex}.com-asset-card-btn-save[data-saved=true]{color:var(--accent)}.com-asset-card-btn-download{cursor:pointer;border-radius:var(--r-sm);font-size:11px;font-weight:600;font-family:var(--font);transition:opacity var(--transition);padding:4px 10px}.com-asset-card-btn-download.btn-svg{background:var(--accent);color:#fff;border:1px solid #0000}.com-asset-card-btn-download.btn-raster{background:var(--surface-3);color:var(--text-2);border:1px solid var(--border)}.com-personal-card-mgmt{border-top:1px solid var(--border-lt);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}#tm-referral-nudge{z-index:var(--z-nudge);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-lg);width:340px;max-width:calc(100vw - 48px);box-shadow:var(--sh-lg);padding:14px 16px;animation:.22s cubic-bezier(.2,0,.38,.9) tmRefNudgeIn;position:fixed;bottom:24px;left:24px}#tm-referral-nudge .tm-ref-nudge-head{align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}#tm-referral-nudge .tm-ref-nudge-gift{flex-shrink:0;font-size:16px;line-height:1.3}#tm-referral-nudge .tm-ref-nudge-title{color:var(--text);flex:1;font-size:13.5px;font-weight:700;line-height:1.3}#tm-referral-nudge .tm-ref-nudge-close{cursor:pointer;color:var(--text-4);border-radius:var(--r-sm);background:0 0;border:none;flex-shrink:0;margin:-2px -4px 0 0;padding:2px;line-height:0}#tm-referral-nudge .tm-ref-nudge-close:hover{color:var(--text-2);background:var(--surface-3)}#tm-referral-nudge .tm-ref-nudge-body{color:var(--text-3);margin:0 0 12px;font-size:12.5px;line-height:1.55}#tm-referral-nudge .tm-ref-nudge-actions{justify-content:flex-end;display:flex}@keyframes tmRefNudgeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (width<=600px){#tm-referral-nudge{width:auto;max-width:none;bottom:12px;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){#tm-referral-nudge{animation:none}}
