.back-to-portal{display:flex;align-items:center;gap:8px;color:#777b94;text-decoration:none;font-size:10px;font-weight:700;padding:5px}.back-to-portal:hover{color:#6758b6}.back-to-portal span{font-size:14px}.workshop-mobile-nav{grid-template-columns:repeat(3,1fr)}.workshop-mobile-nav button{min-height:40px}.workshop-home-grid{margin-top:18px}.catalog-demo-label{display:table;width:max-content;margin-top:9px;padding:4px 8px;border-radius:100px;background:#fff7df;color:#8a7040;font-size:8px;font-weight:700;letter-spacing:.08em}.edit-dialog{width:min(500px,calc(100vw - 30px));max-height:min(90vh,760px);overflow:auto;padding:0;border:1px solid #e3deef;border-radius:20px;background:#fffefa;color:var(--ink);box-shadow:0 20px 70px rgba(33,35,73,.25)}.edit-dialog::backdrop{background:rgba(36,39,76,.42);backdrop-filter:blur(3px)}#edit-form{display:grid;gap:12px;padding:22px}.edit-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}.edit-heading h2{font-size:22px;margin:4px 0 0}.edit-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:4px}.ledger-delete{flex:none;width:28px;height:28px}.app-footer a{color:#7163b6;text-decoration:none;letter-spacing:0;font-size:10px;font-weight:600}.app-footer a:hover{text-decoration:underline;text-underline-offset:3px}.catalog-empty{grid-column:1/-1}
@media(max-width:600px){.catalog-demo-label{font-size:7px}.edit-dialog{max-height:calc(100vh - 32px)}#edit-form{padding:17px 14px}.edit-actions .button{padding:0 11px}.app-footer a{font-size:8px}}
.workshop-mobile-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
.orders-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.orders-layout{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:14px;align-items:start}
.orders-panel{padding:20px}
.orders-list{display:grid;gap:10px;margin-top:13px}
.order-card{padding:14px;border:1px solid #e9e5ef;border-radius:14px;background:#fffefa;display:grid;gap:12px}
.order-card.order-overdue{border-color:#f2b4a5;background:#fff8f5}
.order-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.order-card-top>div{display:grid;gap:4px;min-width:0}
.order-customer{font-size:14px;color:var(--ink);overflow-wrap:anywhere}
.order-product{font-size:11px;color:#777b94;overflow-wrap:anywhere}
.order-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px 0;border-top:1px solid #eeebf2;border-bottom:1px solid #eeebf2}
.order-dates>div{display:grid;gap:4px;min-width:0}
.order-dates small,.order-status-field>span{font-size:9px;color:#777b94;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.order-dates strong{font-size:11px;color:var(--ink);overflow-wrap:anywhere}
.order-dates em{display:block;color:#be5748;font-size:9px;font-style:normal;margin-top:2px}
.order-status-field{display:grid;grid-template-columns:auto minmax(140px,1fr);gap:12px;align-items:center}
.order-status-field select{min-height:36px;padding:6px 10px;border:1px solid #e5e1ec;border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:11px}
.order-privacy-note{margin:0;color:#74788f;font-size:10px;line-height:1.5}
.order-card .icon-button{width:44px;height:44px;flex:none}
.order-status-field select,.orders-layout .field input{min-height:44px}
.orders-layout .button{min-height:44px}
.orders-layout .button:disabled{opacity:.5;cursor:not-allowed}
.form-error{margin:0;padding:9px 10px;border-radius:9px;background:#fff1ee;color:#a94335;font-size:11px;line-height:1.45}
.orders-layout .empty-state{grid-column:1/-1}
@media(max-width:1000px){.orders-layout{grid-template-columns:1fr}}
@media(max-width:600px){.orders-summary{gap:8px}.orders-panel{padding:15px}.order-card{padding:12px}.order-status-field{grid-template-columns:1fr;gap:6px}.workshop-mobile-nav button{font-size:8px}}
/* Fotos de producto */
.workshop-mobile-nav{grid-template-columns:repeat(5,1fr)}.workshop-mobile-nav a{display:grid;justify-items:center;align-content:center;gap:3px;text-decoration:none;color:#81859c;font-size:9px;padding:4px 1px}.workshop-mobile-nav a span:first-child{font-size:16px;line-height:18px}
.field-hint{display:block;color:#9a9cb2;font-size:9px;font-weight:500;line-height:1.4}
.photo-field input[type=file]{padding:8px;background:#faf9ff;cursor:pointer}
.piece-thumb.has-photo{overflow:hidden;background:#fff}
.piece-thumb .product-photo{width:100%;height:100%;object-fit:cover}
.photo-badge{background:#f1eefc;color:#5b4fa8}
button.product-art{width:100%;border:0;padding:0;cursor:zoom-in;font:inherit}
.product-art.has-photo{background:#f6f3ec}
.product-art .product-photo{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.product-card:hover .product-art .product-photo{transform:scale(1.03)}
.photo-more{position:absolute;right:11px;bottom:11px;padding:4px 8px;border-radius:100px;background:rgba(39,44,87,.78);color:#fff;font-size:9px;font-weight:700}
.photo-manager{display:grid;gap:8px;padding:12px;border:1px dashed #d9d3ee;border-radius:14px;background:#fbfaff}
.photo-manager-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;color:#747791}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:8px}
.photo-tile{position:relative;margin:0;aspect-ratio:1;border-radius:11px;overflow:hidden;background:#fff;border:2px solid transparent}
.photo-tile.is-cover{border-color:#8f7fe0}
.photo-tile img{width:100%;height:100%;object-fit:cover;display:block}
.photo-tool{position:absolute;top:4px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(255,255,255,.94);color:#343b75;font-size:15px;line-height:1;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.photo-remove{right:4px;color:#c4553f}.photo-cover{left:4px;color:#c99316}
.cover-tag{position:absolute;left:4px;bottom:4px;padding:2px 6px;border-radius:100px;background:#6e5fc0;color:#fff;font-size:8px;font-weight:700}
.photo-empty{grid-column:1/-1;margin:0;font-size:10px;color:#9a9cb2}
.photo-add{position:relative;justify-self:start;cursor:pointer}
.photo-add input,#backup-import-label input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
.photo-add.is-busy{opacity:.6;pointer-events:none}
.photo-viewer{width:min(860px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:14px;border:0;border-radius:20px;background:#fffefa;color:var(--ink);box-shadow:0 20px 70px rgba(33,35,73,.3)}
.photo-viewer::backdrop{background:rgba(24,26,52,.72)}
.viewer-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.viewer-head h2{margin:0;font-size:18px}
.viewer-stage{position:relative;display:grid;place-items:center;background:#f3f1ea;border-radius:14px;overflow:hidden}
.viewer-stage img{max-width:100%;max-height:calc(100vh - 210px);display:block;object-fit:contain}
.viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#343b75;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.18)}
.viewer-prev{left:10px}.viewer-next{right:10px}
.viewer-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto}
.viewer-thumbs button{flex:none;width:58px;height:58px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;cursor:pointer;background:none}
.viewer-thumbs button.active{border-color:#6e5fc0}
.viewer-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
/* Copia de seguridad */
.backup-panel{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:20px 22px}
.backup-copy h3{margin:4px 0 4px}.backup-copy p{margin:0;max-width:520px}
.backup-actions{display:flex;flex-wrap:wrap;gap:9px}
#backup-import-label{position:relative;cursor:pointer}
/* Servidor y contraseña */
body:not(.is-public):not(.is-private) .view{visibility:hidden}
.is-public .nav-item[data-nav="home"],.is-public .nav-item[data-nav="studio"],.is-public .nav-item[data-nav="orders"],.is-public .private-only,.is-public .demo-note{display:none}
.is-public .workshop-mobile-nav button:not([data-nav="catalog"]){opacity:.45}
.is-public .catalog-demo-label{display:none}
.auth-button{min-height:36px;gap:6px;padding:0 13px}
.login-form{display:grid;gap:12px;padding:22px}
.login-help{margin:0;font-size:12px;color:#6f7390;line-height:1.5}
.login-dialog{width:min(420px,calc(100vw - 30px))}
.local-status[data-kind="saving"] i{background:#f4bf58;box-shadow:0 0 0 3px #fff1cf}
.local-status[data-kind="error"] i{background:#e0664d;box-shadow:0 0 0 3px #fde3dc}
.local-status[data-kind="public"] i,.local-status[data-kind="loading"] i{background:#b7b3dc;box-shadow:0 0 0 3px #efedf9}
@media(max-width:600px){.auth-button{min-height:32px;padding:0 9px}.auth-button span:first-child{display:none}}
/* Botones rápidos del resumen */
.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.quick-action{display:flex;align-items:center;gap:14px;min-height:84px;padding:16px 20px;border-radius:18px;border:0;cursor:pointer;text-align:left;font:inherit;color:#fff;box-shadow:0 8px 22px rgba(39,44,87,.14);transition:transform .15s ease,box-shadow .15s ease}
.quick-action:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(39,44,87,.2)}
.quick-action:focus-visible{outline:3px solid #ffca65;outline-offset:3px}
.quick-product{background:linear-gradient(135deg,#6e5fc0,#8f7fe0)}
.quick-order{background:linear-gradient(135deg,#e0664d,#fa856c)}
.quick-icon{flex:none;width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.22);font-size:26px;font-weight:700}
.quick-text strong{display:block;font-size:18px;line-height:1.2}
.quick-text small{display:block;margin-top:3px;font-size:11px;opacity:.9}
@media(max-width:600px){.quick-actions{grid-template-columns:1fr;gap:10px}.quick-action{min-height:68px;padding:12px 16px}.quick-text strong{font-size:16px}.quick-icon{width:40px;height:40px;font-size:22px}}
/* Escaparate: el catálogo es la cara pública del taller */
.catalog-hero.storefront{display:block;padding:30px 34px 28px;min-height:0;background-color:#fffaf2;border:1.5px solid #ecdcc9;position:relative}
.storefront-logo{width:min(100%,760px);margin:0 auto 22px}
.storefront-row{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;flex-wrap:wrap;padding-top:20px;border-top:2px dashed #ecdcc9}
.storefront-copy h1{font-size:34px;margin:8px 0 6px}
.storefront-copy p{font-size:13px}
.storefront-steps{list-style:none;margin:0;padding:0;display:flex;gap:10px;flex-wrap:wrap}
.storefront-steps li{display:flex;align-items:center;gap:9px;padding:9px 13px 9px 9px;border-radius:14px;background:#fff;border:1.5px solid #e6dfd2;box-shadow:0 4px 0 #e6dfd2;font-size:12px;font-weight:700;color:var(--ink)}
.step-num{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;color:#fff;font-family:var(--display);font-size:16px;background:#fa856c;box-shadow:0 3px 0 #c9553f}
.storefront-steps li:nth-child(2) .step-num{background:#8a78df;box-shadow:0 3px 0 #5e4eb5}
.storefront-steps li:nth-child(3) .step-num{background:#53b398;box-shadow:0 3px 0 #3a8570}
.product-card{border-width:1.5px}
.product-card:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 10px 0 rgba(39,44,87,.10),0 18px 30px rgba(39,44,87,.10)}
.product-price{font-family:var(--display);font-weight:400;font-size:20px;color:#e0664d}
/* Modo visitante: solo escaparate, sin menú del taller */
.is-public .app-shell{display:block}
.is-public .sidebar,.is-public .mobile-nav{display:none}
.is-public .main-content{max-width:1180px;padding-bottom:30px}
@media(max-width:860px){.is-public .main-content{padding-bottom:30px}}
@media(max-width:600px){.catalog-hero.storefront{padding:18px 14px 18px}.storefront-logo{margin-bottom:14px}.storefront-row{padding-top:14px}.storefront-copy h1{font-size:27px}.storefront-steps{gap:7px}.storefront-steps li{font-size:11px;padding:7px 10px 7px 7px}.step-num{width:24px;height:24px;font-size:14px}}
.quick-product{box-shadow:0 6px 0 #4f429c,0 12px 22px rgba(39,44,87,.14)}
.quick-order{box-shadow:0 6px 0 #b9503b,0 12px 22px rgba(39,44,87,.14)}
.quick-action:hover{transform:translateY(-2px)}
.quick-action:active{transform:translateY(4px)}
.quick-product:active{box-shadow:0 2px 0 #4f429c}
.quick-order:active{box-shadow:0 2px 0 #b9503b}

/* ---------- Mensajes "Me interesa" ---------- */
.nav-item{position:relative}
.nav-badge{min-width:18px;height:18px;padding:0 5px;border-radius:100px;background:#e8664f;color:#fff;font-size:10px;font-weight:800;line-height:18px;text-align:center;margin-left:auto}
.nav-badge[hidden]{display:none}
.mobile-nav button{position:relative}
.mobile-nav .nav-badge{position:absolute;top:0;left:calc(50% + 4px);min-width:16px;height:16px;line-height:16px;font-size:9px;padding:0 4px;margin:0}
.workshop-mobile-nav{grid-template-columns:repeat(6,minmax(0,1fr))}
.messages-filters{margin:0 0 12px}
.messages-list{display:grid;gap:10px}
.message-card.is-new{border-color:#f0b9a9;background:#fff8f4}
.message-top-right{display:flex;align-items:center;gap:8px;flex:none}
.msg-new{background:#ffe3dc;color:#b6513f}
.message-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.5;color:var(--ink);padding:10px 12px;border-radius:10px;background:#f7f5fb}
.message-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.message-date{font-size:10px;color:#777b94}
.message-actions{display:flex;gap:7px;flex-wrap:wrap}
.message-actions .button{min-height:38px;font-size:11px}
.messages-note{margin-top:14px}
.order-from-message{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:9px 11px;border-radius:10px;background:#eef6f1;color:#3f7a5d;font-size:11px}
.order-from-message[hidden]{display:none}
.interest-dialog textarea{width:100%;min-width:0;border:1px solid #e4e2e8;background:#fff;border-radius:10px;padding:10px 11px;color:var(--ink);font:inherit;font-size:13px;resize:vertical;min-height:96px}
.interest-dialog .field input{min-height:44px;font-size:13px}
.interest-dialog .field-hint{justify-self:end}
.hp-field{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.interest-done{display:grid;gap:3px;padding:12px;border-radius:10px;background:#e9f6ed;color:#3f7a5d;font-size:12px}
.interest-done[hidden]{display:none}
.interest-done strong{font-size:15px}
.order-card-top>.message-top-right{display:flex;align-items:center}
/* Pedidos: dinero, cobro, notas y edición · notas de piezas */
.orders-layout textarea,#piece-form textarea,#edit-form textarea{width:100%;min-width:0;border:1px solid #e4e2e8;background:#fff;border-radius:10px;padding:10px 11px;color:var(--ink);font:inherit;font-size:13px;resize:vertical;min-height:72px}
.orders-layout [hidden],.order-money-preview[hidden]{display:none!important}
.order-money-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.order-money-tip{margin:10px 2px 0;color:#74788f;font-size:11px;line-height:1.5}
.order-money-preview{margin:0;padding:9px 11px;border-radius:10px;background:#eef6f1;color:#3f7a5d;font-size:12px;line-height:1.5}
.order-money-preview.is-loss{background:#fff1ee;color:#a94335}
.order-paid-row{align-items:end}
.order-card-top>.order-card-buttons{display:flex;gap:6px;flex:none}
.order-card.is-editing{border-color:#a79be6;box-shadow:0 0 0 3px #ece8ff}
.order-card.order-cancelled{opacity:.7}
.order-money{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.order-money>div{display:grid;gap:4px;min-width:0}
.order-money small{font-size:9px;color:#777b94;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.order-money strong{font-size:13px;color:var(--ink)}
.order-money .is-profit{color:#2f8a6c}.order-money .is-loss{color:#be5748}
.order-notes,.piece-notes{margin:0;padding:8px 10px;border-radius:10px;background:#f7f5fb;color:var(--ink);font-size:11px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.piece-notes{margin:4px 0 2px;color:#5d6180}
.order-pay-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.pay-chip{min-height:44px;padding:0 14px;border-radius:100px;border:1.5px dashed #e3b45a;background:#fff8e6;color:#8a6420;font:inherit;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}
.pay-chip.is-paid{border:1.5px solid #8fd0b5;background:#e9f6ef;color:#2f7a5c}
.pay-chip:hover{filter:brightness(.97)}
@media(max-width:600px){.order-money-grid{grid-template-columns:1fr}.order-pay-row{grid-template-columns:1fr}.pay-chip{width:100%}}
/* Coste desglosado de una pieza */
.cost-editor{display:grid;gap:9px;padding:13px;border:1px dashed #d9d3ee;border-radius:14px;background:#fbfaff}
.cost-title{font-size:12px;font-weight:800;color:var(--ink)}
.cost-subtitle{font-size:10px;font-weight:700;color:#777b94}
.cost-filament{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.cost-calc{padding-bottom:12px;font-size:12px;color:#5d6180;white-space:nowrap}
.cost-extras{display:grid;gap:7px}
.cost-extras:empty{display:none}
.cost-extra{display:grid;grid-template-columns:minmax(0,1fr) 92px 36px;gap:6px;align-items:center}
.cost-extra input{min-width:0;min-height:40px;border:1px solid #e4e2e8;background:#fff;border-radius:10px;padding:8px 10px;color:var(--ink);font:inherit;font-size:13px}
.cost-extra .icon-button{width:36px;height:36px;font-size:18px}
.cost-add{justify-self:start;padding:4px 0}
.cost-total{display:flex;justify-content:space-between;align-items:center;padding-top:9px;border-top:1px solid #e9e5f3;font-size:12px;color:#5d6180}
.cost-total strong{font-size:16px;color:var(--ink)}
/* Ajustes del taller */
.settings-card{display:grid;gap:10px;padding:20px}
.settings-card h3{margin:0}
.inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.inline-form .button{min-height:44px}
.settings-label{font-size:11px;font-weight:800;color:var(--ink)}
.category-manager{display:grid;gap:8px;padding-top:10px;border-top:1px solid #eeebf2}
.category-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.category-list li{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 11px;border:1px solid #ece8f2;border-radius:11px;background:#fff}
.category-name{flex:1;min-width:0;font-size:12px;font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.category-list small{font-size:10px;color:#777b94;white-space:nowrap}
.category-list .icon-button{width:34px;height:34px;flex:none}
.category-fixed{padding:2px 7px;border-radius:100px;background:#f3f1f8}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:600px){.cost-extra{grid-template-columns:minmax(0,1fr) 78px 36px}}
/* Cinta transportadora de pedidos */
.conveyor-panel{padding:20px;margin-bottom:14px;overflow:hidden}
.conveyor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.conveyor-head h2{margin:4px 0 4px}
.conveyor-head p{margin:0;font-size:12px;color:#74788f;max-width:560px}
.conveyor{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;align-items:stretch}
.conveyor-intake{display:grid;place-items:center;align-content:center;gap:6px;padding:10px 6px;border:2px dashed #f3b3a3;border-radius:16px;background:#fff6f2;cursor:pointer;font:inherit;color:#b9503b;font-size:11px;font-weight:800;transition:transform .15s ease,background .15s ease}
.conveyor-intake:hover,.conveyor-intake:focus-visible{background:#ffece5;transform:translateY(-2px)}
.envelope-svg{width:76px;height:auto;overflow:visible}
.envelope-flap{transform-origin:60px 26px;transition:transform .35s ease}
.envelope-letter{transform:translateY(14px);transition:transform .35s ease .05s}
.conveyor-intake:hover .envelope-flap,.conveyor-intake:focus-visible .envelope-flap,.conveyor-intake.is-open .envelope-flap{transform:scaleY(-1)}
.conveyor-intake:hover .envelope-letter,.conveyor-intake:focus-visible .envelope-letter,.conveyor-intake.is-open .envelope-letter{transform:translateY(-12px)}
.conveyor-intake.is-open{animation:envelope-bounce .7s ease}
@keyframes envelope-bounce{0%,100%{transform:none}30%{transform:scale(1.08) rotate(-3deg)}60%{transform:scale(.97) rotate(2deg)}}
.belt{display:grid;gap:0;min-width:0}
.belt-stations{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;position:relative;z-index:1}
.belt-station{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:8px;min-width:0;padding:9px;border-radius:14px 14px 4px 4px;background:#f7f5fb;border:1.5px solid #e9e5f3;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.belt-station.drop-target{background:#efeaff;border-color:#8f7fe0;transform:translateY(-3px)}
.station-paid{background:#eef8f2;border-color:#bfe3cf}
.station-head{display:flex;align-items:center;gap:6px;min-width:0}
.station-icon{font-size:18px;line-height:1}
.station-name{flex:1;min-width:0;font-size:10px;font-weight:800;color:var(--ink);text-transform:uppercase;letter-spacing:.04em;line-height:1.2}
.station-count{min-width:22px;height:22px;padding:0 6px;border-radius:100px;background:#fff;border:1px solid #e3deef;font-size:11px;font-weight:800;line-height:20px;text-align:center;color:#5d6180}
.station-slot{display:grid;align-content:end;gap:6px;min-height:92px}
.station-empty{align-self:center;justify-self:center;text-align:center;font-size:10px;color:#a3a6ba;padding:10px 4px}
.station-more{justify-self:center;min-height:30px;padding:0 12px;border-radius:100px;border:1.5px solid #d9d3ee;background:#fff;color:#5b4fb0;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.station-more:hover,.station-more:focus-visible{background:#efeaff}
.station-slot.is-expanded{max-height:380px;overflow-y:auto;padding-right:3px;align-content:start;overscroll-behavior:contain}
.belt-arrow{position:absolute;right:-10px;top:50%;transform:translate(50%,-50%);z-index:2;width:18px;height:18px;border-radius:50%;background:#343b75;color:#fff;font-size:14px;line-height:16px;text-align:center;font-weight:800}
.belt-token{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border-radius:10px;background:#f6e3c4;border:1.5px solid #d9b98a;box-shadow:0 3px 0 #c9a46e;touch-action:auto;user-select:none}
.belt-token::before{content:"";position:absolute;left:50%;top:-1px;bottom:-1px;width:10px;transform:translateX(-50%);background:rgba(255,255,255,.35);pointer-events:none;border-radius:2px}
.belt-token.is-late{border-color:#e58a75;box-shadow:0 3px 0 #c9553f}
.station-paid .belt-token{background:#d9f0e3;border-color:#8fd0b5;box-shadow:0 3px 0 #6fb898}
.token-body{position:relative;display:grid;gap:2px;min-width:0;padding:7px 8px;border:0;background:none;text-align:left;font:inherit;color:var(--ink);cursor:pointer}
@media(hover:hover) and (pointer:fine){.token-body{cursor:grab}}
.token-body strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.token-body span,.token-body small{font-size:10px;color:#5d5340;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.token-profit{color:#2f7a5c}
.token-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px;white-space:normal!important}
.token-tag{padding:1px 6px;border-radius:100px;background:#fff;font-size:9px;font-weight:800;color:#5d6180}
.tag-paid{color:#2f7a5c}.tag-owed{color:#8a6420;background:#fff3d6}.tag-late{color:#be5748}
.token-next{position:relative;width:34px;border:0;border-left:1.5px dashed rgba(120,90,40,.35);background:rgba(255,255,255,.35);border-radius:0 9px 9px 0;font-size:18px;font-weight:900;color:#343b75;cursor:pointer;transition:background .15s ease}
.token-next:hover,.token-next:focus-visible{background:#ffcf70}
.token-next:hover span{display:inline-block;animation:nudge .5s ease infinite alternate}
@keyframes nudge{to{transform:translateX(3px)}}
.belt-token.is-dragging{opacity:.35}
.drag-ghost{position:fixed;left:0;top:0;z-index:1000;pointer-events:none;box-shadow:0 14px 30px rgba(39,44,87,.3);margin:0}
.conveyor-dragging,.conveyor-dragging *{cursor:grabbing!important}
.flash-new{animation:token-drop .8s cubic-bezier(.2,.9,.3,1.3)}
.flash-moved{animation:token-slide .55s cubic-bezier(.2,.9,.3,1.2)}
@keyframes token-drop{0%{transform:translate(-60px,-30px) scale(.4) rotate(-20deg);opacity:0}100%{transform:none;opacity:1}}
@keyframes token-slide{0%{transform:translateX(-60px);opacity:.2}70%{transform:translateX(5px)}100%{transform:none;opacity:1}}
.belt-track{display:grid;grid-template-columns:22px minmax(0,1fr) 22px;align-items:center;margin-top:-4px;height:26px}
.roller{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle,#fff 0 3px,#5d6180 3.5px 6px,#343b75 6.5px);animation:roll 1.2s linear infinite}
.roller::after{content:"";display:block;width:2px;height:22px;margin:auto;background:rgba(255,255,255,.5)}
@keyframes roll{to{transform:rotate(360deg)}}
.belt-surface{height:16px;border-radius:4px;background:repeating-linear-gradient(90deg,#343b75 0 18px,#454d8c 18px 30px);background-size:30px 16px;animation:belt-move 1.2s linear infinite;box-shadow:inset 0 3px 0 rgba(255,255,255,.12),0 4px 0 #23284f}
@keyframes belt-move{to{background-position:30px 0}}
/* Fiesta al cobrar */
.party-layer{position:fixed;inset:0;z-index:2000;pointer-events:none;overflow:hidden}
.party-bit,.party-coin{position:absolute;top:-30px;display:block;animation:party-fall var(--fall) ease-in var(--delay) forwards}
.party-bit{width:9px;height:14px;border-radius:2px}
.party-coin{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3c4,#ffcf70 45%,#e0a12f);border:2px solid #b9831f;color:#8a5a10;font-style:normal;font-weight:900;font-size:13px;line-height:22px;text-align:center}
@keyframes party-fall{0%{transform:translate(0,0) rotate(0)}100%{transform:translate(var(--drift),110vh) rotate(var(--spin))}}
.party-banner{position:absolute;left:50%;top:38%;display:grid;justify-items:center;gap:2px;padding:18px 28px;border-radius:22px;background:#fffefa;border:3px solid #343b75;box-shadow:0 8px 0 #343b75,0 20px 50px rgba(39,44,87,.3);animation:party-pop 2.4s ease forwards}
.party-banner span{font-size:38px;line-height:1;animation:coin-flip .8s ease 2}
.party-banner strong{font-family:var(--display);font-size:34px;color:#2f8a6c}
.party-banner small{font-size:13px;font-weight:800;color:var(--ink)}
@keyframes party-pop{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}15%{transform:translate(-50%,-50%) scale(1.1);opacity:1}25%,80%{transform:translate(-50%,-50%) scale(1);opacity:1}100%{transform:translate(-50%,-60%) scale(.9);opacity:0}}
@keyframes coin-flip{50%{transform:rotateY(180deg) scale(1.2)}}
@media(max-width:1000px){.conveyor{grid-template-columns:1fr}.conveyor-intake{grid-template-columns:auto auto;justify-content:center;gap:12px;padding:8px}.envelope-svg{width:54px}}
@media(max-width:760px){.belt-stations{grid-template-columns:1fr;gap:16px}.belt-arrow{right:50%;top:auto;bottom:-8px;transform:translate(50%,50%) rotate(90deg)}.station-slot{min-height:0;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-content:start}.belt-track{display:none}.belt-station{border-radius:14px;border-left:6px solid #343b75}.conveyor-head{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.roller,.belt-surface,.flash-new,.flash-moved,.conveyor-intake.is-open,.token-next:hover span{animation:none}}
/* ================= Rediseño: centro de mando ================= */
.command-header{display:grid;grid-template-columns:minmax(180px,300px) minmax(0,1fr) auto;align-items:center;gap:22px;padding:16px 22px;margin-bottom:14px;background:linear-gradient(120deg,#fffaf2,#f3efff)}
.command-logo{min-width:0}.command-logo svg{width:100%;height:auto;max-height:86px;display:block;animation:logo-bob 4s ease-in-out infinite}
@keyframes logo-bob{50%{transform:translateY(-3px) rotate(-.6deg)}}
.command-copy p{margin:6px 0 0;font-size:14px;color:#5d6180;line-height:1.45}.command-copy strong{color:var(--ink)}
.command-actions{display:grid;gap:8px}.command-actions .quick-action{min-height:56px;padding:9px 16px;border-radius:14px}.command-actions .quick-icon{width:36px;height:36px;font-size:19px;border-radius:11px}.command-actions .quick-text strong{font-size:14px}.command-actions .quick-text small{font-size:10px}
.command-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:14px;margin-bottom:14px}
.command-card{display:grid;gap:10px;align-content:start;padding:16px 18px;text-align:left;font:inherit;color:var(--ink);border:1px solid #ece8f2;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.command-card:hover,.command-card:focus-visible{transform:translateY(-3px)}
.piggy-card{cursor:default}.piggy-card:hover{transform:none}
.money-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.money-mini span{display:grid;gap:3px;min-width:0}.money-mini small{font-size:10px;color:#777b94;font-weight:700}.money-mini strong{font-size:17px}
.command-link{font-size:11px;font-weight:800;color:#6758b6}
.mail-card-body{display:flex;align-items:center;gap:12px}.mail-card-icon{font-size:34px;line-height:1}.mail-card-body strong{display:block;font-size:15px}.mail-card-body small{display:block;font-size:11px;color:#777b94;margin-top:2px}
.piggy-row{display:flex;align-items:center;gap:12px}.piggy{font-size:36px;line-height:1;display:inline-block;animation:piggy 3s ease-in-out infinite}.piggy-row strong{display:block;font-size:22px}.piggy-row small{font-size:11px;color:#777b94}
@keyframes piggy{0%,100%{transform:rotate(0)}10%{transform:rotate(-8deg)}20%{transform:rotate(6deg)}30%{transform:rotate(0)}}
#view-home .backup-panel{margin-top:0}
/* Buzón en la barra superior */
.mailbox-button{position:relative;display:grid;place-items:center;width:46px;height:42px;border-radius:13px;border:1.5px solid #e3deef;background:#fff;cursor:pointer;padding:0}
.mailbox-button svg{width:30px;height:30px}
.mailbox-flag{transform-origin:24px 13px;transform:rotate(90deg);transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.mailbox-button.has-unread .mailbox-flag{transform:none}
.mailbox-button.ring{animation:mail-ring .9s ease 2}
@keyframes mail-ring{0%,100%{transform:none}20%{transform:rotate(-12deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(4deg)}}
.mailbox-count{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:100px;background:#e8664f;color:#fff;font-size:11px;font-weight:800;line-height:20px;text-align:center;box-shadow:0 0 0 2px #fff}
.is-public .mailbox-button{display:none}
/* ================= Taller ================= */
.heading-actions{display:flex;gap:8px;flex-wrap:wrap}
.taller-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:14px;align-items:start}
.taller-side{display:grid;gap:14px}
.orders-panel{padding:18px}
.orders-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 8px}
.orders-toolbar .filter-pills{margin:0}
.orders-toolbar .filter-pill span{margin-left:4px;padding:0 6px;border-radius:100px;background:rgba(0,0,0,.08);font-size:10px}
.orders-search input{min-height:38px;width:200px;max-width:100%;border:1px solid #e4e2e8;border-radius:10px;padding:6px 10px;font:inherit;font-size:12px;background:#fff;color:var(--ink)}
.orders-table-wrap{overflow-x:auto;margin:0 -4px}
.orders-table{width:100%;border-collapse:collapse;font-size:12px}
.orders-table th{position:sticky;top:0;padding:7px 6px;text-align:left;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#777b94;background:#faf9fd;border-bottom:1.5px solid #ece8f2;white-space:nowrap}
.orders-table td{padding:6px;border-bottom:1px solid #f0edf5;vertical-align:middle;color:var(--ink)}
.orders-table tbody tr:hover td{background:#fcfbff}
.orders-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.orders-table td.is-profit{color:#2f8a6c;font-weight:700}.orders-table td.is-loss{color:#be5748;font-weight:700}
.orders-table tr.is-late td:first-child{box-shadow:inset 3px 0 0 #e58a75}
.orders-table tr.is-cancelled td{opacity:.5;text-decoration:line-through}.orders-table tr.is-cancelled td.row-actions,.orders-table tr.is-cancelled td:nth-child(4){text-decoration:none}
.cell-link{border:0;background:none;padding:0;font:inherit;color:var(--ink);cursor:pointer;text-align:left}.cell-link:hover strong{text-decoration:underline}
.cell-piece{font-weight:600}.qty{font-size:11px;color:#6758b6}.cell-sub{display:block;font-size:10px;color:#8a8ea5}
.note-dot{font-size:11px;cursor:help}
.late{color:#be5748;font-weight:700}.today{color:#a8771a;font-weight:700}
.late-tag,.today-tag{display:inline-block;padding:0 6px;border-radius:100px;font-size:9px;font-weight:800;background:#fff1ee;color:#be5748}.today-tag{background:#fff3d6;color:#8a6420}
.status-select{min-height:32px;padding:3px 6px;border-radius:8px;border:1px solid #e5e1ec;background:#fff;font:inherit;font-size:11px;color:var(--ink);max-width:150px}
.status-received{background:#eef3ff}.status-preparing{background:#f1edff}.status-ready{background:#fff6e0}.status-delivered{background:#e9f6ef}.status-cancelled{background:#f3f1f4}
.orders-table .pay-chip{min-height:30px;padding:0 10px;font-size:10px}
.row-actions{white-space:nowrap;text-align:right}.row-actions .icon-button{width:32px;height:32px}
.order-due-note{margin:10px 2px 0;font-size:11px;color:#74788f}.order-due-note span:first-child{font-weight:800;color:#be5748}
.pieces-panel{padding:18px}.pieces-panel .pieces-list{display:grid;gap:8px;margin-top:12px;max-height:520px;overflow-y:auto;padding-right:3px}
.pieces-panel .piece-row{grid-template-columns:52px minmax(0,1fr) auto;padding:8px;gap:10px}
.pieces-panel .piece-row.is-hidden{opacity:.65}
.pieces-panel .piece-thumb{width:52px;height:52px;border:0;padding:0;cursor:pointer}
.pieces-panel .piece-actions{flex-direction:column;gap:4px}.pieces-panel .piece-actions .icon-button{width:30px;height:30px}
/* Economía */
.economy{margin-top:20px}
.economy-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}
.economy-kpis .stat-card{padding:13px}.economy-kpis .stat-card strong{font-size:20px}
.stat-purple{background:#f1edff}
.economy-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;align-items:start}
.economy-chart-card,.economy-top-card{padding:18px}
.economy-chart{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;height:190px;align-items:end;margin-top:12px}
.bar-col{display:grid;grid-template-rows:auto 1fr auto;height:100%;gap:4px;text-align:center}
.bar-value{font-size:9px;color:#5d6180;font-weight:700;min-height:12px}
.bar-track{position:relative;border-radius:8px 8px 3px 3px;background:#f5f3fa}
.bar-paid,.bar-profit{position:absolute;bottom:0;left:12%;right:12%;border-radius:7px 7px 2px 2px;transition:height .6s cubic-bezier(.2,.9,.3,1.2)}
.bar-paid{background:#ffcf70}.bar-profit{left:30%;right:30%;background:#43aa91}
.bar-label{font-size:10px;color:#777b94;text-transform:capitalize}
.economy-legend{margin:10px 0 0;font-size:11px;color:#74788f;display:flex;align-items:center;gap:6px}.economy-legend span{display:inline-block;width:12px;height:12px;border-radius:3px}.legend-paid{background:#ffcf70}.legend-profit{background:#43aa91;margin-left:10px}
.economy-top{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:7px}
.economy-top li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:11px;background:#faf9fd}
.medal{font-size:18px;width:26px;text-align:center;font-weight:800;color:#777b94}
.top-name{flex:1;min-width:0;font-size:12px;font-weight:700}.top-name small{display:block;font-weight:500;color:#8a8ea5;font-size:10px}
.economy-top strong{color:#2f8a6c;font-size:13px}
.top-empty{font-size:12px;color:#8a8ea5;background:none!important}
.economy-lesson{margin:14px 2px 0;padding:12px 14px;border-radius:12px;background:#fff8e6;color:#6d5320;font-size:12px;line-height:1.55}.economy-lesson small{color:#8a7040}
/* Diálogos */
.order-dialog{width:min(560px,calc(100vw - 24px))}
.dialog-inner{padding:20px 22px}
.dialog-subtitle{margin:3px 0 0;font-size:12px;color:#777b94}
.order-dialog .piece-form{margin-top:12px}
.edit-dialog .field input,.edit-dialog .field select{min-height:42px}
.source-box{display:grid;gap:7px;padding:12px;border-radius:14px;background:#f2f9f5;border:1px dashed #a9d8c2}
.source-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.source-row input{min-width:0;min-height:40px;border:1px solid #d7e9df;border-radius:10px;padding:6px 10px;font:inherit;font-size:12px;background:#fff;color:var(--ink)}
.source-row .button{min-height:40px;padding:0 12px;font-size:11px;white-space:nowrap}
.source-status{margin:0;padding:7px 10px;border-radius:9px;font-size:11px;background:#eef3ff;color:#3d4f8a}
.source-status[data-kind="error"]{background:#fff1ee;color:#a94335}.source-status[data-kind="ok"]{background:#e9f6ef;color:#2f7a5c}
.product-credit{display:inline-block;margin:-4px 0 8px;font-size:10px;color:#6758b6;text-decoration:none;font-weight:700}.product-credit:hover{text-decoration:underline}
/* ================= Buzón de mensajes ================= */
.mailroom-head{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 22px;margin-bottom:14px}
.mailroom-head h1{margin:2px 0 4px}.mailroom-head p{margin:0;font-size:13px;color:#74788f}
.big-mailbox{position:relative;width:110px}.big-mailbox svg{width:100%;height:auto;overflow:visible}
.big-flag{transform-origin:118px 60px;transform:rotate(90deg);transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.big-mailbox.has-mail .big-flag{transform:none}
.mailbox-slot-letter{transform:translateY(30px);opacity:0;transition:all .4s ease}
.big-mailbox.has-mail .mailbox-slot-letter{transform:none;opacity:1;animation:letter-peek 2.4s ease-in-out infinite}
@keyframes letter-peek{50%{transform:translateY(-6px)}}
.big-mailbox.shake{animation:mail-ring .8s ease}
.big-mailbox-count{position:absolute;top:0;right:-4px;min-width:30px;height:30px;padding:0 8px;border-radius:100px;background:#e8664f;color:#fff;font-weight:900;font-size:15px;line-height:30px;text-align:center;box-shadow:0 0 0 3px #fff}
.big-mailbox-count:empty{display:none}
.letter-desk{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;padding:18px;border-radius:20px;background:repeating-linear-gradient(45deg,#f4ecdf 0 14px,#f1e7d7 14px 28px);border:1.5px solid #e6dcc9;min-height:180px;align-items:start}
.letters-empty{grid-column:1/-1;background:#fffdf8}.empty-mail{display:block;font-size:40px;margin-bottom:6px}
.letter{position:relative;transform:rotate(var(--tilt));transition:transform .2s ease;touch-action:auto}
.letter:hover{transform:rotate(0) translateY(-3px)}
.letter.is-open{transform:none;grid-row:span 2}
.letter.is-dragging{z-index:50;transition:none;box-shadow:0 20px 40px rgba(39,44,87,.25);opacity:.95}
.letter-envelope{position:relative;display:grid;gap:3px;width:100%;min-height:118px;padding:46px 14px 12px;border:2px solid #343b75;border-radius:10px;background:#fffefa;text-align:left;font:inherit;color:var(--ink);cursor:pointer;overflow:hidden;box-shadow:0 5px 0 #d9cfbd}
@media(hover:hover) and (pointer:fine){.letter-desk .letter-envelope{cursor:grab}}
.envelope-flap-css{position:absolute;left:-2px;right:-2px;top:-2px;height:58px;background:#fde3d9;clip-path:polygon(0 0,100% 0,50% 100%);border-bottom:0;transform-origin:top;transition:transform .35s ease}
.envelope-flap-css::after{content:"";position:absolute;inset:0;background:linear-gradient(#343b75,#343b75) no-repeat;clip-path:polygon(0 0,2px 0,50% calc(100% - 2px),calc(100% - 2px) 0,100% 0,50% 100%)}
.letter.is-open .envelope-flap-css{transform:scaleY(-.4)}
.wax-seal{position:absolute;left:50%;top:34px;transform:translateX(-50%);width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff9d86,#e0533b);color:#fff;font-size:8px;font-weight:900;letter-spacing:.05em;display:grid;place-items:center;box-shadow:0 2px 0 #a8392a;animation:seal-pulse 1.6s ease-in-out infinite;z-index:1}
@keyframes seal-pulse{50%{transform:translateX(-50%) scale(1.08)}}
.letter.is-new .letter-envelope{padding-top:82px;background:#fffaf0}
.letter-from small{display:block;font-size:9px;color:#8a8ea5;text-transform:uppercase;letter-spacing:.08em}.letter-from strong{font-size:15px}
.letter-about{font-size:11px;color:#6758b6;font-weight:700}
.letter-date{font-size:10px;color:#8a8ea5}
.letter-paper{margin:-8px 8px 0;padding:18px 14px 12px;border-radius:0 0 10px 10px;background:#fff;border:1.5px solid #ddd5c4;border-top:0;box-shadow:0 8px 18px rgba(39,44,87,.1);background-image:repeating-linear-gradient(#fff 0 22px,#eef1fb 22px 23px);animation:paper-out .35s ease}
@keyframes paper-out{from{transform:translateY(-20px);opacity:0}}
.letter-text{margin:0 0 8px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:23px;color:var(--ink)}
.letter-color{margin:0 0 6px;font-size:11px;color:#5d6180}
.letter-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.letter-actions .button{min-height:34px;padding:0 10px;font-size:11px}
.trays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.trays:empty{display:none}
.tray{display:flex;align-items:center;justify-content:center;gap:10px;min-height:74px;border-radius:16px;border:2px dashed #cfc6e6;background:#fbfaff;font:inherit;font-weight:800;color:var(--ink);cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}
.tray small{min-width:22px;padding:1px 7px;border-radius:100px;background:#fff;border:1px solid #e3deef;font-size:11px}
.tray-icon{font-size:28px;transition:transform .2s ease}
.tray-order{border-color:#f3b3a3;background:#fff6f2}.tray-archive{border-color:#a9d8c2;background:#f2f9f5}.tray-trash{border-color:#d9d5df;background:#f7f6f9}
.tray.is-target,.tray.is-receiving{transform:scale(1.05);border-style:solid}
.tray.is-target .tray-icon,.tray.is-receiving .tray-icon{transform:scale(1.25) rotate(-8deg)}
/* Responsive */
@media(max-width:1180px){.economy-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.economy-grid{grid-template-columns:1fr 1fr}.economy-chart-card{grid-column:1/-1}}
@media(max-width:1000px){.taller-grid{grid-template-columns:1fr}.command-header{grid-template-columns:1fr;justify-items:start}.command-logo{width:min(300px,100%)}.command-actions{grid-template-columns:1fr 1fr;width:100%}.command-grid{grid-template-columns:1fr 1fr}.money-card{grid-column:1/-1}}
@media(max-width:700px){
  .orders-table thead{display:none}
  .orders-table,.orders-table tbody,.orders-table tr,.orders-table td{display:block;width:100%}
  .orders-table tr{position:relative;padding:10px 10px 8px;margin-bottom:8px;border:1px solid #ece8f2;border-radius:12px;background:#fffefa;display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}
  .orders-table td{border:0;padding:2px 0}
  .orders-table td::before{content:attr(data-label);display:block;font-size:9px;font-weight:800;color:#8a8ea5;text-transform:uppercase;letter-spacing:.05em}
  .orders-table td:first-child,.orders-table td:nth-child(2){grid-column:1/-1}
  .orders-table td.num{text-align:left}
  .orders-table td.row-actions{position:absolute;top:6px;right:6px;width:auto}.orders-table td.row-actions::before{display:none}
  .orders-table tr.is-late td:first-child{box-shadow:none}.orders-table tr.is-late{border-left:4px solid #e58a75}
  .orders-search input{width:100%}.orders-search{flex:1 1 100%}
  .economy-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.economy-grid{grid-template-columns:1fr}
  .command-grid{grid-template-columns:1fr}.command-actions{grid-template-columns:1fr}
  .mailroom-head{grid-template-columns:80px minmax(0,1fr)}.mailroom-head .button{grid-column:1/-1}.big-mailbox{width:80px}
  .trays{grid-template-columns:repeat(3,1fr);gap:6px}.tray{flex-direction:column;gap:2px;min-height:70px;font-size:10px}
  .letter-desk{padding:10px;grid-template-columns:1fr}
  .source-row{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.command-logo svg,.piggy,.wax-seal,.big-mailbox.has-mail .mailbox-slot-letter,.mailbox-button.ring{animation:none}}
.row-actions .icon-button{display:inline-grid;vertical-align:middle;margin-left:2px}

/* ---------- Filamentos ---------- */
.swatch{display:inline-block;width:13px;height:13px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px rgba(30,20,60,.25);vertical-align:-2px;flex:none}
.swatch.big{width:30px;height:30px;border-width:3px}
.swatches{display:inline-flex;gap:0;vertical-align:middle}
.swatches .swatch+.swatch{margin-left:-4px}
.filament-picker{display:grid;gap:8px;padding:12px;border:1px dashed #d9d3ee;border-radius:14px;background:#fbfaff}
.filament-picker-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.filament-chips{display:flex;flex-wrap:wrap;gap:6px}
.filament-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 9px;border-radius:999px;background:#fff;border:1px solid #e3def3;font-size:.86rem;font-weight:700}
.filament-chip small{font-weight:500;opacity:.7}
.filament-chip button{border:0;background:#f1edfb;border-radius:50%;width:22px;height:22px;cursor:pointer;font-weight:800;line-height:1}
.filament-chip button:hover{background:#ffd9d9}
.filament-empty{font-size:.86rem;opacity:.75;margin:0}
.filament-picker select{padding:9px 10px;border-radius:10px;border:1px solid #d9d3ee;background:#fff;font:inherit}
.text-button{border:0;background:none;padding:4px 2px;font:inherit;font-weight:700;color:#6a4fd8;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.filament-dialog .dialog-inner{max-width:620px}
.dialog-subtitle{margin:4px 0 0;font-size:.9rem;opacity:.75}
.filament-list{display:grid;gap:8px;max-height:280px;overflow:auto;margin:12px 0;padding-right:2px}
.filament-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid #ece8f7;border-radius:12px;background:#fff}
.filament-row .icon-button{display:inline-grid}
.filament-info{display:grid;min-width:0}
.filament-info small{opacity:.72;overflow-wrap:anywhere}
.filament-form{display:grid;gap:10px;padding-top:12px;border-top:2px dashed #ece8f7}
.color-input{display:flex;gap:6px;align-items:center}
.color-input input[type=color]{width:44px;height:40px;padding:2px;border:1px solid #d9d3ee;border-radius:10px;background:#fff;flex:none;cursor:pointer}
.color-input input:not([type=color]){flex:1;min-width:0}
.purchase-box{display:grid;gap:6px}
#filament-purchases{display:grid;gap:6px}
.purchase-row{display:grid;grid-template-columns:minmax(70px,110px) auto 1fr auto;gap:6px;align-items:center}
.purchase-row input{padding:8px;border-radius:10px;border:1px solid #d9d3ee;font:inherit;min-width:0}
.purchase-row .icon-button{display:inline-grid}
.settings-form{display:grid;gap:10px}
.cell-piece+.swatches{margin-left:4px}
.token-body .swatches .swatch{width:10px;height:10px;border-width:1px}
.filament-form [hidden],.purchase-box [hidden]{display:none!important}
