:root{--color-bg: #f7f6f2;--color-surface: #ffffff;--color-border: #e7e3d9;--color-text: #17140f;--color-text-muted: #6f6a5f;--color-black: #16130f;--color-black-hover: #2b241b;--color-amber: #ffc93c;--color-amber-strong: #e8a916;--color-orange: #e8720c;--color-orange-soft: #fdead4;--color-orange-strong: #a24d09;--color-primary: var(--color-black);--color-danger: #c7351f;--color-danger-soft: #fbe3de;--color-warning: #a24d09;--color-good: #2f8f4e;--color-good-soft: #e2f3e6;--radius-sm: 6px;--radius-md: 10px;--shadow-sm: 0 1px 2px rgba(20, 15, 5, .06);--shadow-md: 0 4px 12px rgba(20, 15, 5, .08)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Barlow,Segoe UI,system-ui,-apple-system,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text)}h1,h2,h3,h4{margin:0}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.app-header__brand{display:flex;align-items:center;gap:12px}.app-header__logo-img{display:block;height:32px;width:auto}.app-header__subtitle{color:var(--color-text-muted);font-size:14px}.app-nav{display:flex;gap:4px;flex-wrap:wrap}.app-nav__link{padding:8px 14px;border-radius:var(--radius-sm);text-decoration:none;color:var(--color-text-muted);font-family:Barlow Semi Condensed,sans-serif;font-size:14px;font-weight:700}.app-nav__link:hover{background:var(--color-bg)}.app-nav__link--active{background:var(--color-amber);color:var(--color-black)}.app-main{flex:1;padding:24px;max-width:1200px;width:100%;margin:0 auto}.page{display:flex;flex-direction:column;gap:32px}.page--narrow{max-width:760px;margin:0 auto;width:100%}.section-title{font-family:Barlow Semi Condensed,sans-serif;font-size:18px;font-weight:700}.section-title--small{font-size:15px;margin-bottom:12px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-count{color:var(--color-text-muted);font-size:13px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:18px}.order-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.order-grid--scroll{display:flex;overflow-x:auto;padding-bottom:4px}.order-grid--scroll>*{min-width:240px;flex:0 0 auto}.order-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px;cursor:pointer;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,transform .15s ease;display:flex;flex-direction:column;gap:8px}.order-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.order-card--overdue{border-color:var(--color-danger);background:var(--color-danger-soft)}.order-card--warning{border-color:var(--color-warning);background:var(--color-orange-soft)}.order-card--good{border-color:var(--color-good);background:var(--color-good-soft)}.order-card__top{display:flex;align-items:center;justify-content:space-between}.order-card__number{font-size:12px;color:var(--color-text-muted);font-weight:600}.order-card__client{font-family:Barlow Semi Condensed,sans-serif;font-size:16px;font-weight:700}.order-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.order-card__due{font-size:12px;color:var(--color-text-muted);font-weight:600}.order-card__due--soon{color:var(--color-warning)}.order-card__due--today,.order-card__due--overdue{color:var(--color-danger)}.order-card__due--warning{color:var(--color-warning)}.order-card__due--good{color:var(--color-good)}.order-card__footer{font-size:12px;color:var(--color-text-muted);border-top:1px solid var(--color-border);padding-top:8px}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-family:Barlow Semi Condensed,sans-serif;font-size:12px;font-weight:700;white-space:nowrap}.badge--status{background:var(--color-black);color:var(--color-amber)}.badge--status-good{background:var(--color-good);color:#fff}.badge--outline{color:var(--color-orange-strong);background:var(--color-orange-soft)}.badge--pin{background:var(--color-black);color:var(--color-amber)}.chip{border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;padding:5px 12px;font-family:Barlow Semi Condensed,sans-serif;font-size:13px;font-weight:600;cursor:pointer;color:var(--color-text)}.chip--active{background:var(--color-amber);border-color:var(--color-amber-strong);color:var(--color-black)}.order-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px;margin-bottom:18px;padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.order-filters__group{display:flex;flex-direction:column;gap:6px}.order-filters__label{font-size:12px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px}.order-filters__chips{display:flex;flex-wrap:wrap;gap:6px}.input{width:100%;padding:9px 11px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;background:var(--color-surface);color:var(--color-text)}.input--small{max-width:140px}.order-form{display:flex;flex-direction:column;gap:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px}.order-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--color-text-muted)}.field-label{display:block;font-size:12px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-3{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}.order-form__actions{display:flex;justify-content:flex-end;gap:10px}.form-error{color:var(--color-danger);font-size:13px;margin:0}.order-type-create{display:flex;flex-direction:column;gap:8px}.order-type-create__actions{display:flex;gap:8px}.type-tabs{display:flex;flex-wrap:wrap;gap:6px}.type-tab{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-family:Barlow Semi Condensed,sans-serif;font-weight:700;font-size:13px;padding:8px 16px;border-radius:999px;cursor:pointer}.type-tab--active{background:var(--color-amber);border-color:var(--color-amber-strong);color:var(--color-black)}.type-tab--add{border-style:dashed}.btn{border:none;border-radius:var(--radius-sm);padding:9px 16px;font-family:Barlow Semi Condensed,sans-serif;font-size:14px;font-weight:700;cursor:pointer}.btn--primary{background:var(--color-black);color:var(--color-amber)}.btn--primary:hover{background:var(--color-black-hover)}.btn--primary:disabled{opacity:.6;cursor:not-allowed}.btn--secondary{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.btn--outline{background:transparent;color:var(--color-black);border:1.5px solid var(--color-black)}.btn--ghost{background:transparent;color:var(--color-text-muted);text-decoration:underline;font-weight:600}.btn--small{padding:5px 10px;font-size:12px}.page-subtitle{margin:-20px 0 0;color:var(--color-text-muted);font-size:14px}.status-stepper{display:flex;list-style:none;padding:0;margin:0;gap:4px;overflow-x:auto}.status-stepper__step{flex:1;min-width:100px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:12px;color:var(--color-text-muted)}.status-stepper__dot{width:14px;height:14px;border-radius:50%;background:var(--color-border)}.status-stepper__step--done .status-stepper__dot,.status-stepper__step--current .status-stepper__dot{background:var(--step-color)}.status-stepper__step--current .status-stepper__label{color:var(--color-text);font-weight:700}.status-changer__row{display:flex;gap:10px;margin-bottom:10px}.status-changer textarea.input{resize:vertical}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.history-list__item{border-left:3px solid var(--color-black);padding-left:12px}.history-list__status{font-weight:700;margin-right:8px}.history-list__date{font-size:12px;color:var(--color-text-muted)}.history-list__notes{margin:4px 0 0;font-size:13px;color:var(--color-text-muted)}.back-link{display:inline-block;margin-bottom:8px;color:var(--color-text-muted);text-decoration:none;font-size:13px}.order-detail__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.order-detail__number{font-family:Barlow Semi Condensed,sans-serif;font-size:22px}.order-detail__client{color:var(--color-text-muted);margin:4px 0 0}.order-detail__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-list{margin:0;display:flex;flex-direction:column;gap:12px}.detail-list dt{font-size:12px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px}.detail-list dd{margin:2px 0 0;font-size:14px}.card--placeholders{display:flex;flex-direction:column;gap:12px;grid-column:1 / -1}.coming-soon-card{border:1px dashed var(--color-border);border-radius:var(--radius-sm);padding:12px 14px;background:var(--color-bg)}.coming-soon-card__badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--color-orange-strong);margin-bottom:4px}.coming-soon-card p{margin:4px 0 0;font-size:13px;color:var(--color-text-muted)}.calendar-wrapper{display:flex;flex-direction:column;gap:16px}.calendar-grid{display:grid;grid-template-columns:220px repeat(var(--week-count),minmax(90px,1fr));overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.calendar-grid__corner,.calendar-grid__week-header{position:sticky;top:0;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:10px 8px;font-size:12px;font-weight:700;color:var(--color-text-muted);text-align:center}.calendar-grid__corner{text-align:left;left:0;z-index:2}.calendar-grid__row-label{position:sticky;left:0;background:var(--color-surface);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);padding:10px;display:flex;flex-direction:column;gap:2px;font-size:13px;cursor:pointer;z-index:1}.calendar-grid__row-type{font-size:11px;color:var(--color-text-muted)}.calendar-grid__cell{border-bottom:1px solid var(--color-border);border-left:1px solid var(--color-border);min-height:44px}.calendar-grid__cell--active{background:var(--cell-color);cursor:pointer}.calendar-legend{display:flex;flex-wrap:wrap;gap:14px}.calendar-legend__item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-muted)}.calendar-legend__dot,.calendar-grid__row-type:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--dot-color, var(--color-orange))}.calendar-legend__dot{width:10px;height:10px}.state-message{padding:40px 20px;text-align:center;color:var(--color-text-muted)}.state-message--error{color:var(--color-danger)}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-muted)}.config-missing{max-width:520px;margin:80px auto;padding:24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.config-missing code{background:var(--color-bg);padding:2px 5px;border-radius:4px}.photo-picker__add,.photo-gallery__header label{display:inline-flex;align-items:center;cursor:pointer}.photo-picker__add{border:1px dashed var(--color-border);border-radius:var(--radius-sm);padding:8px 14px;font-size:13px;color:var(--color-text-muted);width:fit-content}.photo-picker__add:hover{border-color:var(--color-orange);color:var(--color-orange-strong)}.photo-picker__grid,.photo-gallery__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;margin-top:10px}.photo-picker__thumb,.photo-gallery__thumb{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.photo-picker__thumb img,.photo-gallery__thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-picker__thumb button,.photo-gallery__thumb button{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;border:none;background:#0009;color:#fff;cursor:pointer;line-height:1;font-size:14px}.photo-gallery__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.photo-gallery__empty{color:var(--color-text-muted);font-size:13px}.document-list{display:flex;flex-direction:column;gap:10px}.document-row{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 14px;gap:12px}.document-row__label{font-family:Barlow Semi Condensed,sans-serif;font-weight:700;font-size:14px}.document-row__actions{display:flex;align-items:center;gap:8px}.document-row__empty{color:var(--color-text-muted);font-size:13px}.items-editor{display:flex;flex-direction:column;gap:12px}.item-block{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;background:var(--color-bg);display:flex;flex-direction:column;gap:14px}.item-block__top{display:flex;align-items:center;justify-content:space-between}.item-block__title{font-family:Barlow Semi Condensed,sans-serif;font-size:13px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px}.item-block__remove{border:none;background:transparent;color:var(--color-text-muted);font-size:18px;line-height:1;cursor:pointer;padding:2px 6px}.item-block__remove:hover{color:var(--color-danger)}.pantone-hint{margin:0;font-size:12px;color:var(--color-text-muted)}.producto-autocomplete{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg)}.producto-autocomplete label{font-size:12px;color:var(--color-text-muted);display:flex;flex-direction:column;gap:4px}.sizes-table{display:flex;flex-direction:column;gap:8px}.sizes-row,.sizes-row-header{display:grid;grid-template-columns:1fr 100px 28px;gap:8px;align-items:center}.sizes-row-header{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px;font-family:Barlow Semi Condensed,sans-serif;font-weight:700}.pedido-articulos-row{grid-template-columns:1fr 90px 100px 28px}.sizes-row__remove{border:none;background:transparent;color:var(--color-text-muted);font-size:16px;cursor:pointer;padding:4px;line-height:1}.sizes-row__remove:hover{color:var(--color-danger)}.add-size-btn,.add-item-btn{border:1px dashed var(--color-border);background:transparent;color:var(--color-text-muted);border-radius:var(--radius-sm);padding:8px 12px;font-family:Barlow Semi Condensed,sans-serif;font-weight:600;font-size:13px;cursor:pointer;width:fit-content}.add-size-btn:hover,.add-item-btn:hover{border-color:var(--color-amber-strong);color:var(--color-orange-strong)}.item-block__total{font-size:11.5px;color:var(--color-text-muted);text-align:right}.item-block__total b{color:var(--color-text)}.items-grand-total{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:var(--color-orange-soft);border:1px solid var(--color-orange);border-radius:var(--radius-md);font-size:13px}.items-grand-total b{font-size:18px;color:var(--color-orange-strong);font-family:Barlow Semi Condensed,sans-serif}.template-picker{display:flex;flex-direction:column;gap:6px}.template-hint{font-size:12px;color:var(--color-orange-strong);margin:0}.announcement-list{display:flex;flex-direction:column;gap:14px}.announcement-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px}.announcement-card--pinned{border-color:var(--color-orange);background:var(--color-orange-soft)}.announcement-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.announcement-card__date{font-size:12px;color:var(--color-text-muted)}.announcement-card h3{font-family:Barlow Semi Condensed,sans-serif;font-size:16px;margin:0 0 4px}.announcement-card p{margin:0 0 8px;font-size:14px;color:var(--color-text);white-space:pre-wrap}.announcement-form{margin:14px 0}.announcement-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--color-black);border:none;border-radius:var(--radius-sm);text-decoration:none;color:var(--color-amber);font-size:13px;flex-wrap:wrap;transition:background .15s ease}.announcement-banner:hover{background:var(--color-black-hover)}.announcement-banner__label{font-weight:700;color:var(--color-amber)}.announcement-banner__title{font-weight:600;flex:1;color:#fff}.announcement-banner__date{color:#fff;opacity:.65;font-size:12px}.pending-list{display:flex;flex-direction:column;gap:10px}.pending-card{display:flex;gap:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px}.pending-card--resolved{opacity:.55}.pending-card--resolved h3{text-decoration:line-through}.pending-card__checkbox input{width:18px;height:18px;margin-top:2px}.pending-card__body{flex:1}.pending-card__top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.pending-card__date{font-size:12px;color:var(--color-text-muted)}.pending-card h3{font-family:Barlow Semi Condensed,sans-serif;font-size:15px;margin:0 0 4px}.pending-card p{margin:0;font-size:13px;color:var(--color-text-muted)}.pending-card__garment{font-weight:600;color:var(--color-text)!important;margin-bottom:4px!important}.pending-card__photo{display:inline-block;margin-top:8px}.pending-card__photo img{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.login-page{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:20px}.login-card__brand{display:flex;flex-direction:column;align-items:center;gap:6px}.login-card__hint{text-align:center;font-size:13px;color:var(--color-text-muted);margin:0}.app-header__user{display:flex;align-items:center;gap:10px}.app-header__user-name{display:flex;flex-direction:column;font-size:13px;font-weight:600;line-height:1.3;text-align:right}.app-header__user-role{font-size:11px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px}.badge--danger{background:var(--color-danger);color:#fff}.order-card--cancelled{opacity:.6;border-style:dashed}.items-editor-fieldset{border:none;padding:0;margin:0}.user-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.user-row{display:flex;align-items:center;gap:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 14px;flex-wrap:wrap}.user-row__info{display:flex;flex-direction:column;flex:1;min-width:140px}.user-row__name{font-weight:700;font-size:14px}.user-row__id{font-size:11px;color:var(--color-text-muted);font-family:monospace}.chat-widget{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.chat-widget__toggle{width:56px;height:56px;border-radius:50%;border:none;background:var(--color-black);color:var(--color-amber);font-size:22px;cursor:pointer;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center}.chat-widget__toggle:hover{background:var(--color-black-hover)}.chat-widget__panel{width:340px;max-width:calc(100vw - 40px);height:460px;max-height:calc(100vh - 120px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;flex-direction:column;overflow:hidden}.chat-widget__header{background:var(--color-black);color:var(--color-amber);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;font-family:Barlow Semi Condensed,sans-serif;font-weight:700;font-size:14px;letter-spacing:.3px}.chat-widget__header-actions{display:flex;align-items:center;gap:4px}.chat-widget__icon-btn{border:none;background:transparent;color:var(--color-amber);font-size:16px;line-height:1;cursor:pointer;padding:4px 6px;opacity:.85}.chat-widget__icon-btn:hover{opacity:1}.chat-widget__messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.chat-widget__hint{font-size:12.5px;color:var(--color-text-muted);margin:4px 2px;line-height:1.5}.chat-widget__message{display:flex;justify-content:flex-start}.chat-widget__message--user{justify-content:flex-end}.chat-widget__bubble{max-width:84%;padding:8px 12px;border-radius:var(--radius-md);font-size:13.5px;line-height:1.45;white-space:pre-wrap;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text)}.chat-widget__message--user .chat-widget__bubble{background:var(--color-black);color:var(--color-amber);border-color:var(--color-black)}.chat-widget__bubble--loading{color:var(--color-text-muted);font-style:italic}.chat-widget__input-row{display:flex;gap:8px;padding:10px;border-top:1px solid var(--color-border)}.chat-widget__input-row .input{flex:1}@media (max-width: 720px){.form-row,.form-row-3,.order-detail__grid{grid-template-columns:1fr}.app-main{padding:16px}.app-header__user-name{display:none}.chat-widget{right:12px;bottom:12px}.chat-widget__panel{width:calc(100vw - 24px);height:calc(100vh - 140px)}}.simple-table{width:100%;border-collapse:collapse;font-size:14px}.simple-table th{text-align:left;padding:8px 12px;border-bottom:2px solid var(--color-black);font-family:Barlow Semi Condensed,sans-serif;text-transform:uppercase;letter-spacing:.02em;font-size:12px}.simple-table td{padding:8px 12px;border-bottom:1px solid var(--color-border, #e5e1d8)}.simple-table tbody tr:hover{background:var(--color-orange-soft, #fdf3e7)}
