:root{--color-bg: #fffaf3;--color-surface: #ffffff;--color-surface-alt: #f6f1e7;--color-text: #222222;--color-muted: #5f5a52;--color-border: #e7dfce;--color-primary: #f18a00;--color-primary-hover: #db7b00;--color-on-primary: #222222;--color-primary-strong: #8a4e00;--color-primary-soft: #fdebd2;--color-secondary: #0c9280;--color-secondary-dark: #06423a;--color-secondary-soft: #ddf1ee;--color-accent: #dcc33b;--color-accent-soft: #faf3d2;--color-error: #b84845;--color-error-soft: #f8e6e5;--color-success: #0a7a6b;--color-success-soft: #ddf1ee;--color-info: #06423a;--color-info-soft: #e3eeec;--font: "Nunito Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--radius: 16px;--radius-sm: 10px;--shadow: 0 1px 2px rgb(34 34 34 / 6%), 0 8px 24px rgb(34 34 34 / 6%);--max: 1120px;--gutter: 16px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font);font-size:1.0625rem;line-height:1.6}img,svg{max-width:100%}h1,h2,h3{text-wrap:balance;line-height:1.2;margin:0 0 .5em;font-weight:800;letter-spacing:-.01em}h1{font-size:clamp(2rem,5vw,3.1rem)}h2{font-size:clamp(1.5rem,3.5vw,2.1rem)}h3{font-size:1.2rem}p{margin:0 0 1em}a{color:var(--color-primary-strong)}a:hover{color:var(--color-secondary-dark)}:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.section{padding:clamp(48px,8vw,88px) 0}.section--alt{background:var(--color-surface-alt)}.eyebrow{display:inline-block;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--color-secondary);margin-bottom:.75rem}.lead{font-size:1.2rem;color:var(--color-muted);max-width:40em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.8em 1.4em;border-radius:999px;border:2px solid var(--color-primary);background:var(--color-primary);color:var(--color-on-primary);font:inherit;font-weight:800;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s}.btn:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-on-primary)}.btn--ghost{background:transparent;color:var(--color-primary-strong)}.btn--ghost:hover{background:var(--color-primary-soft);color:var(--color-primary-strong)}.btn[disabled]{opacity:.6;cursor:progress}.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.card p:last-child{margin-bottom:0}.icon-badge{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--color-primary-soft);color:var(--color-primary-strong);font-size:1.4rem;margin-bottom:12px}.prose{max-width:44em}.prose h2{font-size:1.4rem;margin-top:1.8em}.prose ul{padding-left:1.2em}.placeholder{background:var(--color-accent-soft);border-radius:4px;padding:0 4px}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.icon{display:inline-flex;flex:none;line-height:0}.icon svg{display:block}.occasion-label{display:inline-flex;align-items:center;gap:6px}.occasion-label .icon,.cal-icon{color:var(--color-primary-strong)}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1000px){.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.grid--4{grid-template-columns:1fr}}.form{display:grid;gap:18px}.form-row{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.field{display:grid;gap:6px;border:0;margin:0;padding:0;min-width:0}.field>label,.field>legend,.label{font-weight:800;padding:0}.hint,.optional{font-weight:400;color:var(--color-muted);font-size:.92rem}input:not([type=radio],[type=checkbox],[type=file]),select,textarea{width:100%;padding:.65em .85em;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font:inherit;color:inherit}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px var(--color-primary-soft)}form.was-validated :invalid{border-color:var(--color-error)}.choice{display:flex;align-items:flex-start;gap:10px;font-weight:400}.choice input{margin-top:.3em;accent-color:var(--color-primary);width:18px;height:18px;flex:none}.alert{margin:0;padding:12px 14px;border-radius:var(--radius-sm);font-weight:700}.alert--error{background:var(--color-error-soft);color:var(--color-error)}.alert--ok{background:var(--color-success-soft);color:var(--color-success)}.alert--info{background:var(--color-info-soft);color:var(--color-info)}.alert--warn{background:var(--color-accent-soft);color:#6b5a00}.btn--small{padding:.4em .9em;font-size:.92rem}.btn--danger{background:transparent;border-color:var(--color-error);color:var(--color-error)}.btn--danger:hover{background:var(--color-error-soft);border-color:var(--color-error);color:var(--color-error)}.btn--plain{background:transparent;border-color:transparent;color:var(--color-primary-strong);padding-left:.4em;padding-right:.4em}.btn--plain:hover{background:var(--color-primary-soft);border-color:transparent;color:var(--color-primary-strong)}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}table{width:100%;border-collapse:collapse;font-size:.97rem}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-border);vertical-align:top}th{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);background:var(--color-surface-alt);white-space:nowrap}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;white-space:nowrap}tr.is-urgent td:first-child{box-shadow:inset 4px 0 0 var(--color-primary)}.badge{display:inline-block;padding:.15em .65em;border-radius:999px;font-size:.82rem;font-weight:800;white-space:nowrap;background:var(--color-surface-alt);color:var(--color-muted)}.badge--info{background:var(--color-info-soft);color:var(--color-info)}.badge--warn{background:var(--color-accent-soft);color:#6b5a00}.badge--ok{background:var(--color-success-soft);color:var(--color-success)}.badge--error{background:var(--color-error-soft);color:var(--color-error)}.badge--primary{background:var(--color-primary-soft);color:var(--color-primary-strong)}.muted{color:var(--color-muted)}.empty{padding:28px;text-align:center;color:var(--color-muted)}.stats{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}.stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:14px 16px}.stat strong{display:block;font-size:1.8rem;line-height:1.1}.stat span{color:var(--color-muted);font-size:.92rem}dialog{border:0;border-radius:var(--radius);padding:0;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);box-shadow:var(--shadow);color:inherit}dialog::backdrop{background:#22222273}dialog .dialog-body{padding:24px;display:grid;gap:16px}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:16px}.toolbar .field{min-width:160px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.tabs a,.tabs button{padding:.45em 1em;border-radius:999px;border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.tabs [aria-current=page],.tabs [aria-pressed=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.timeline{list-style:none;padding:0;margin:0;display:grid;gap:10px}.timeline li{padding-left:16px;border-left:3px solid var(--color-border)}pre.ficha{white-space:pre-wrap;background:var(--color-surface-alt);border-radius:var(--radius-sm);padding:14px;font-size:.92rem;margin:0}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:100;max-width:calc(100vw - 32px);padding:12px 18px;border-radius:var(--radius-sm);background:var(--color-text);color:#fff;font-weight:700;box-shadow:var(--shadow)}.toast--error{background:var(--color-error)}.nowrap{white-space:nowrap}.app .card{border-radius:14px;border-color:#ebe4d8;box-shadow:0 1px 2px #2222220a,0 4px 16px #2222220a}.app .card>h2:first-child{margin-bottom:16px}.app .table-wrap{border-color:#ebe4d8;border-radius:14px;box-shadow:0 1px 2px #2222220a,0 4px 16px #2222220a}.app th{position:sticky;top:0;z-index:1;padding:11px 14px;font-size:.75rem;letter-spacing:.06em;background:#faf8f4;border-bottom-color:#ebe4d8}.app td{padding:13px 14px;border-bottom-color:#f0eadf}.app tbody tr{transition:background .12s}.app tbody tr:hover{background:#fcfaf6}.app td a{font-weight:700;text-decoration:none}.app td a:hover{text-decoration:underline}.app .badge{display:inline-flex;align-items:center;gap:6px;padding:.25em .7em;font-weight:700}.app .badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.app .stats{gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.app .stat{position:relative;display:grid;gap:4px;padding:18px 20px;border-radius:14px;border-color:#ebe4d8;box-shadow:0 1px 2px #2222220a,0 4px 16px #2222220a}.app .stat strong{font-size:2rem;font-weight:900;letter-spacing:-.01em}.app .stat .stat__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;margin-bottom:6px;background:var(--color-primary-soft);color:var(--color-primary-strong)}.app .stat--teal .stat__icon{background:var(--color-secondary-soft);color:var(--color-secondary)}.app .stat--warn .stat__icon{background:var(--color-accent-soft);color:#6b5a00}.app .stat--error .stat__icon{background:var(--color-error-soft);color:var(--color-error)}.app a.stat{color:inherit;text-decoration:none;transition:transform .12s,box-shadow .12s}.app a.stat:hover{transform:translateY(-2px);box-shadow:0 2px 4px #2222220d,0 10px 24px #22222212}.app .tabs{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:#ece6dc}.app .tabs a,.app .tabs button{border:0;border-radius:9px;background:transparent;padding:.45em 1em}.app .tabs [aria-current=page],.app .tabs [aria-pressed=true]{background:var(--color-surface);color:var(--color-text);box-shadow:0 1px 3px #2222221f}.app .toolbar{padding:14px 16px;border-radius:14px;background:var(--color-surface);border:1px solid #ebe4d8}.app .toolbar .field label{font-size:.82rem;color:var(--color-muted)}.app .toolbar:has(>.btn:only-child),.app .toolbar:has(>.btn+.btn:last-child){padding:0;background:transparent;border:0}.app .card .toolbar{padding:0;background:transparent;border:0}.app .empty{padding:40px 24px;font-weight:600}.app .empty:before{content:"";display:block;width:44px;height:44px;margin:0 auto 12px;border-radius:50%;background:var(--color-surface-alt) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f5a52' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-6l-2 3h-4l-2-3H2'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E") center / 22px no-repeat}.app .alert{border-radius:12px;font-weight:600;border:1px solid transparent}.app .alert--warn{border-color:#efe0a3}.app .alert--ok{border-color:#bfe3dc}.app .alert--error{border-color:#efc9c7}.app .btn{padding:.65em 1.2em;font-size:.97rem}.app .btn--small{padding:.38em .85em;font-size:.9rem}.app .timeline li{position:relative;padding:0 0 4px 20px;border-left:2px solid #ebe4d8}.app .timeline li:before{content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 3px var(--app-bg, #f6f3ee)}.app input:not([type=radio],[type=checkbox],[type=file]),.app select{min-height:44px}.app td .btn,.app td a.btn{white-space:nowrap}.app td select{width:auto;field-sizing:content}.app th{white-space:normal}.app th,.app td{padding-inline:10px}.app th .th-sort{text-align:left}.app td a[href^="mailto:"]{overflow-wrap:anywhere}.app td .actions,.app td .row-actions{flex-wrap:wrap;gap:4px 6px}.app td .btn--plain.btn--small{padding-block:.1em}.app td>.actions:only-child,.app td>.row-actions:only-child{margin-top:-.1em}.app td.nowrap,.app td .nowrap{white-space:nowrap}.app-main{grid-template-columns:minmax(0,1fr)}.app-main div,.app-main section,.app-main form,.app-main article{min-width:0}.app .form-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.app select{text-overflow:ellipsis}.field{align-content:start;align-self:start}.app .form-row--2{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:720px){.app .form-row--2{grid-template-columns:1fr}}.app-main section>h2:first-child,.app-main>section>h2{margin-top:8px}.app table{min-width:640px}@media(max-width:560px){.app .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app .stat{padding:14px}.app .stat strong{font-size:1.5rem}.app .stat .stat__icon{width:34px;height:34px}}.row-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center}.btn--delete{color:var(--color-error)}.btn--delete:hover{background:var(--color-error-soft);color:var(--color-error)}.person{display:flex;align-items:center;gap:12px}.person__avatar{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary-strong);font-weight:800;font-size:.85rem}.person strong,.person small{display:block}.person small,.app tr.is-inactive td{color:var(--color-muted)}.app tr.is-inactive .person__avatar{background:var(--color-surface-alt);color:var(--color-muted)}.cell-product{min-width:16ch;max-width:26ch}.dropzone{position:relative;display:grid;justify-items:center;gap:4px;padding:28px 20px;border:2px dashed var(--color-border);border-radius:14px;background:var(--color-bg);text-align:center;cursor:pointer;transition:border-color .12s,background .12s}.dropzone:hover,.dropzone:focus-within,.dropzone.has-file{border-color:var(--color-primary);background:var(--color-primary-soft)}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.th-sort{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer}.th-sort:hover{color:var(--color-text)}.th-sort__arrow{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.25}th[aria-sort=ascending] .th-sort,th[aria-sort=descending] .th-sort{color:var(--color-primary-strong)}th[aria-sort=ascending] .th-sort__arrow{opacity:1;border-top:0;border-bottom:5px solid currentColor}th[aria-sort=descending] .th-sort__arrow{opacity:1}.holded-search{display:grid;gap:6px}.holded-results{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.holded-results:empty{display:none}.holded-results li>button{display:grid;grid-template-columns:minmax(80px,auto) 1fr;gap:2px 12px;width:100%;padding:8px 10px;border:0;border-bottom:1px solid var(--color-border);background:none;text-align:left;font:inherit;cursor:pointer}.holded-results li>button:hover,.holded-results li>button:focus-visible{background:var(--color-surface-alt)}.holded-results li>button .muted{grid-column:2;font-size:.85em}.holded-diff{color:var(--color-error);font-weight:700}.stock-check{display:grid;gap:12px}.stock-check__head{display:flex;gap:12px;align-items:flex-start}.stock-check tr.is-short td{background:#fdecea}.stock-check tr.is-tight td{background:#fff6e0}.postal-check{font-size:.92rem}.postal-check:empty{display:none}.postal-check--ok,.postal-check--warn{display:flex;gap:8px;align-items:flex-start;padding:8px 12px;border-radius:var(--radius-sm)}.postal-check--ok{color:#0b5d4f;background:#e3f3ef}.postal-check--warn{color:#6b4a00;background:#fff3d6}.postal-check .btn{margin-left:8px;padding-block:2px}.app .stats+*,.app *+.stats,.app .welcome+*{margin-top:20px}.app .table-wrap+*,.app .alert+:not(.alert),.app *+.table-wrap{margin-top:16px}.app .settings>*,.app .campaign>*{margin-top:0}[hidden]{display:none!important}.product-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}.product-card{display:flex;flex-direction:column;padding:0;overflow:hidden}.product-card img,.product-card__empty{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;background:var(--color-surface-alt)}.product-card__body{flex:1;display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px}.product-card .product-facts{margin-top:auto;padding-top:4px}dialog.dialog--wide{width:min(760px,calc(100vw - 32px));max-width:none}.product-card h3{margin:0;font-size:1.1rem}.product-card p{margin:0}.product-facts{font-size:.95rem;color:var(--color-muted)}.product-facts strong{color:var(--color-text)}.product-contents{margin:8px 0 0;padding-left:1.1em;font-size:.95rem}.product-detail{display:grid;gap:20px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start}.product-detail img{width:100%;height:auto;border-radius:12px}.product-detail h2{margin-top:0}@media(max-width:640px){.product-detail{grid-template-columns:1fr}}.product-option{display:flex;align-items:flex-start;gap:4px}.product-option .choice{flex:1}.product-option .btn{flex:none}.link-btn{padding:0;border:0;background:none;font:inherit;color:var(--color-primary-strong);text-decoration:underline;cursor:pointer}.product-detail .product-contents+.hint{margin-top:14px}.app .product-grid+*,.app .card+p{margin-top:20px}.view-as-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:10px 16px;background:#0b5d4f;color:#fff;font-size:.95rem;text-align:center}.view-as-bar .btn{background:#fff;border-color:#fff;color:#0b5d4f}.is-view-as .app-main form button[type=submit]{display:none}.view-log{margin-top:16px;font-size:.92rem;color:var(--color-muted)}.view-log ul{margin:8px 0 0;padding-left:1.1em}.is-view-as .sidebar{top:var(--view-as-h, 0px)}.is-view-as :is(input,select,textarea,button):disabled{cursor:not-allowed}dialog.confirm-dialog{width:min(460px,calc(100vw - 32px))}.confirm-dialog__body{gap:20px}.confirm-dialog__head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start}.confirm-dialog__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary-strong)}.confirm-dialog__icon.is-danger{background:var(--color-error-soft);color:var(--color-error)}.confirm-dialog__title{margin:0 0 4px;font-size:1.15rem;line-height:1.3}.confirm-dialog__text{margin:0;color:var(--color-muted)}.confirm-dialog__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.confirm-dialog .btn--danger{background:var(--color-error);border-color:var(--color-error);color:#fff}.confirm-dialog .btn--danger:hover{background:#9e3c39;border-color:#9e3c39;color:#fff}
