:root{--brand-pink:#f4a9b6;--muted-pink:#c07d90;--light-pink:#fbf0f3;--very-light-pink:#fff2f3;--medium-pink:#f0b4d0;--espresso:#3a2a2f;--cream:#faf6f2;--gold:#c9a96e;--sage:#a4b89e;--warm-tan:#d7a887;--peachy-tan:#f5c8b1;--warm-orange:#ffa856;--light-orange:#ffb563;--mauve-brown:#c07d83;--color-bg-page:var(--cream);--color-bg-card:#fff;--color-border:var(--light-pink);--color-border-strong:var(--medium-pink);--color-text-heading:var(--espresso);--color-text-body:#574850;--color-text-muted:#8c7b81;--color-accent:var(--brand-pink);--color-accent-hover:var(--medium-pink);--color-accent-text:var(--espresso);--color-cta:#c2325f;--color-cta-hover:#a92953;--color-cta-text:#fff;--gradient-cta:linear-gradient(135deg,#bb2f5e,#cf3d6d);--gradient-cta-hover:linear-gradient(135deg,#a92953,#bd3462);--color-danger:#b3261e;--color-success:#3a7a4d;--color-row-hover:#f7ebe7;--font-heading:"Libre Baskerville",Georgia,serif;--font-body:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--shadow-xs:0 1px 2px #3a2a2f0d;--shadow-sm:0 1px 2px #3a2a2f0d,0 2px 8px rgba(58,42,47,.045);--shadow-md:0 2px 4px #3a2a2f0d,0 8px 20px #3a2a2f12;--shadow-lg:0 4px 8px #3a2a2f0f,0 16px 40px #3a2a2f1a;--shadow-accent:0 2px 6px #c07d9040,0 8px 20px #c07d902e;--shadow-cta:0 2px 6px #bb2f5e4d,0 8px 20px #bb2f5e38;--sheen:inset 0 1px 0 #ffffffbf;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--radius-pill:999px;--ease:cubic-bezier(0.22,0.61,0.36,1);--transition-fast:140ms var(--ease);--transition:200ms var(--ease);--surface-card:linear-gradient(180deg,#fff,#fffcfc);--surface-raised:linear-gradient(180deg,#fff,#fff8f8);--surface-sunken:linear-gradient(180deg,#fdf7f5,#fbf3f2)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg-page);color:var(--color-text-body);font-family:var(--font-body);margin:0}body:before{background:radial-gradient(60rem 40rem at 12% -10%,#f4a9b629,#0000 60%),radial-gradient(50rem 36rem at 98% 8%,#c9a96e1c,#0000 62%);content:"";inset:0;pointer-events:none;position:fixed;z-index:-1}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--muted-pink);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}button{font-family:var(--font-body);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),color var(--transition-fast)}button:active:not(:disabled){transform:translateY(1px)}input,select,textarea{transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #f4a9b638}::selection{background:#f4a9b659;color:var(--color-text-heading)}*{scrollbar-color:#c07d9059 #0000;scrollbar-width:thin}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#c07d904d;background-clip:content-box;border:3px solid #0000;border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:#c07d9080;background-clip:content-box}.app-shell .formula-card,.app-shell .marketing-card,.app-shell .po-card,.app-shell .todo-item,.app-shell .vendor-card{background:var(--surface-card);border:1px solid #f4a9b659;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm),var(--sheen);transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}.app-shell .formula-card:hover,.app-shell .marketing-card:hover,.app-shell .po-card:hover,.app-shell .todo-item:hover,.app-shell .vendor-card:hover{border-color:#f0b4d0a6;box-shadow:var(--shadow-md),var(--sheen);transform:translateY(-3px)}.app-shell .batch-form,.app-shell .entry-form,.app-shell .formula-form,.app-shell .marketing-form,.app-shell .placeholder-card,.app-shell .po-form,.app-shell .tax-estimate-card,.app-shell .todo-form,.app-shell .vendor-form{background:var(--surface-raised);border:1px solid #f4a9b666;border-radius:var(--radius-xl);box-shadow:var(--shadow-md),var(--sheen)}.app-shell .formula-fill-calculator{background:var(--surface-sunken);border:1px solid #f4a9b659;border-radius:var(--radius-md);box-shadow:inset 0 1px 3px #3a2a2f0d}.app-shell .batch-formula-filter,.app-shell .batch-formula-filter select,.app-shell .finances-tab,.app-shell .finances-year-select,.app-shell .marketing-filter,.app-shell .marketing-view-tab,.app-shell .po-filter,.app-shell .todo-assignee-select,.app-shell .todo-filter{background:var(--surface-card);border:1px solid #f0b4d080;border-radius:var(--radius-pill);box-shadow:var(--shadow-xs);font-weight:500}.app-shell .finances-tab:hover,.app-shell .marketing-filter:hover,.app-shell .marketing-view-tab:hover,.app-shell .po-filter:hover,.app-shell .todo-filter:hover{background:var(--very-light-pink);border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);color:var(--color-text-heading)}.app-shell .finances-tab.active,.app-shell .marketing-filter.active,.app-shell .marketing-view-tab.active,.app-shell .po-filter.active,.app-shell .todo-filter.active{background:linear-gradient(135deg,var(--brand-pink) 0,#f5b9c6 100%);border-color:#0000;box-shadow:var(--shadow-accent),var(--sheen);color:var(--color-accent-text)}.app-shell .batch-add-button,.app-shell .entry-form button[type=submit],.app-shell .formula-add-button,.app-shell .marketing-add-button,.app-shell .marketing-comment-form button,.app-shell .marketing-form-actions button[type=submit],.app-shell .po-add-button,.app-shell .todo-add-button,.app-shell .todo-comment-form button,.app-shell .vendor-add-button{background:var(--gradient-cta);border:none;border-radius:var(--radius-pill);box-shadow:var(--shadow-cta),var(--sheen);color:var(--color-cta-text);font-weight:600;letter-spacing:.01em}.app-shell .batch-add-button:hover:not(:disabled),.app-shell .entry-form button[type=submit]:hover:not(:disabled),.app-shell .formula-add-button:hover:not(:disabled),.app-shell .marketing-add-button:hover:not(:disabled),.app-shell .marketing-comment-form button:hover:not(:disabled),.app-shell .marketing-form-actions button[type=submit]:hover:not(:disabled),.app-shell .po-add-button:hover:not(:disabled),.app-shell .todo-add-button:hover:not(:disabled),.app-shell .todo-comment-form button:hover:not(:disabled),.app-shell .vendor-add-button:hover:not(:disabled){background:var(--gradient-cta-hover);box-shadow:0 4px 10px #bb2f5e4d,0 12px 28px #bb2f5e38,var(--sheen);transform:translateY(-1px)}.app-shell input:not([type=checkbox]):not([type=radio]):not([type=file]),.app-shell select,.app-shell textarea{background:#fffdfd;border-radius:var(--radius-md)}.app-shell .entry-table-scroll{background:var(--surface-card);border:1px solid #f4a9b666;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm),var(--sheen);overflow:hidden;overflow-x:auto}.app-shell .batch-table thead th,.app-shell .entry-table thead th,.app-shell .formula-ingredient-table thead th,.app-shell .po-item-table thead th,.app-shell .vendor-orders-table thead th{background:linear-gradient(180deg,#fdf4f6,#fbeef1);border-bottom:1px solid #f4a9b673;color:var(--color-text-muted);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.app-shell .batch-table tbody tr,.app-shell .entry-table tbody tr{transition:background var(--transition-fast)}.app-shell .batch-empty,.app-shell .entry-table-empty,.app-shell .formula-list-empty,.app-shell .marketing-empty,.app-shell .po-empty,.app-shell .todo-empty,.app-shell .vendor-empty{background:var(--surface-sunken);border:1px dashed #f0b4d0b3;border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:.9rem;padding:2.5rem 1.5rem;text-align:center}.primary-action{align-items:center;background:var(--gradient-cta);border:none;border-radius:var(--radius-pill);box-shadow:0 2px 6px #bb2f5e4d,0 8px 20px #bb2f5e38;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;letter-spacing:.01em;padding:.7rem 1.3rem}.primary-action:hover{background:var(--gradient-cta-hover);box-shadow:0 4px 10px #bb2f5e52,0 12px 28px #bb2f5e3d;transform:translateY(-1px)}.view-tab{align-items:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-size:.92rem;font-weight:500;gap:.5rem;padding:0 0 .8rem;position:relative}.view-tab:hover{color:var(--color-text-heading)}.view-tab.active{color:var(--muted-pink);font-weight:600}.view-tab.active:after{background:var(--muted-pink);border-radius:2px 2px 0 0;bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.library-search{align-items:center;display:flex;flex:1 1;min-width:170px;position:relative}.library-search svg{color:var(--color-text-muted);left:.75rem;pointer-events:none;position:absolute}.library-search input{background:#fffdfd;border:1px solid #f0b4d099;border-radius:var(--radius-md);box-sizing:border-box;font-family:var(--font-body);font-size:.85rem;min-width:0;padding:.6rem .8rem .6rem 2.15rem;width:100%}.library-search input:focus{border-color:var(--color-accent);outline:none}.library-select{background:#fffdfd;border:1px solid #f0b4d099;border-radius:var(--radius-md);color:var(--color-text-body);cursor:pointer;font-family:var(--font-body);font-size:.82rem;padding:.6rem .7rem}.library-pills{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.15rem}.library-pill{align-items:center;background:var(--surface-card);border:1px solid #f0b4d08c;border-radius:var(--radius-pill);color:var(--color-text-body);cursor:pointer;display:inline-flex;font-size:.82rem;gap:.45rem;padding:.4rem .85rem}.library-pill:hover{background:var(--very-light-pink);border-color:var(--color-border-strong)}.library-pill.active{background:var(--very-light-pink);border-color:var(--color-accent);color:var(--muted-pink);font-weight:600}.library-pill-count{background:#3a2a2f12;border-radius:var(--radius-pill);font-size:.72rem;font-weight:600;padding:.02rem .4rem}.library-pill.active .library-pill-count{background:var(--color-accent);color:#fff}.ghost-button{background:none;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);color:var(--color-text-body);cursor:pointer;font-size:.85rem;padding:.55rem 1.1rem}.ghost-button:hover{background:var(--very-light-pink)}.link-button{background:none;border:none;color:var(--muted-pink);cursor:pointer;font-size:.78rem;font-weight:600;padding:0}.link-button:hover{color:var(--color-cta)}.pagination{align-items:center;border-top:1px solid #f4a9b659;display:flex;flex-wrap:wrap;gap:1rem;margin-top:.9rem;padding-top:.9rem}.pagination-count{color:var(--color-text-muted);font-size:.78rem}.pagination-count strong{font-feature-settings:"tnum";color:var(--color-text-heading);font-variant-numeric:tabular-nums}.pagination-controls{align-items:center;display:flex;gap:.4rem;margin-left:auto}.pagination-button{align-items:center;background:var(--surface-card);border:1px solid #f0b4d099;border-radius:50%;color:var(--color-text-body);cursor:pointer;display:flex;font-size:1rem;height:28px;justify-content:center;line-height:1;width:28px}.pagination-button:hover:not(:disabled){background:var(--very-light-pink);border-color:var(--color-accent);color:var(--muted-pink)}.pagination-button:disabled{cursor:default;opacity:.4}.pagination-page{font-feature-settings:"tnum";color:var(--color-text-body);font-size:.78rem;font-variant-numeric:tabular-nums;min-width:52px;text-align:center}.pagination-size{background:var(--surface-card);border:1px solid #f0b4d099;border-radius:var(--radius-pill);color:var(--color-text-body);cursor:pointer;font-family:var(--font-body);font-size:.76rem;padding:.35rem .5rem}.app-shell .primary-action:disabled,.app-shell .primary-action[aria-disabled=true]{background:var(--color-border-strong);box-shadow:none;color:var(--color-text-muted);cursor:not-allowed;opacity:1}.app-shell .primary-action:disabled:hover{background:var(--color-border-strong);transform:none}.app-shell{background:#0000;display:flex;min-height:100vh}.sidebar{background:linear-gradient(180deg,#fff,snow 55%,#fff5f6);border-right:1px solid #f4a9b647;box-shadow:1px 0 3px #3a2a2f08,8px 0 28px rgba(58,42,47,.035);box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;height:100vh;overflow-y:auto;padding:1.6rem .9rem 1.2rem;position:sticky;top:0;width:236px;z-index:10}.sidebar-brand{align-items:center;border-bottom:1px solid #f4a9b640;color:var(--color-text-heading);display:flex;font-family:var(--font-heading);font-size:1.02rem;font-weight:700;gap:.65rem;letter-spacing:-.01em;margin-bottom:1rem;padding:0 .5rem 1.25rem}.sidebar-logo{background:var(--very-light-pink);border-radius:var(--radius-md);box-shadow:var(--shadow-xs),var(--sheen);box-sizing:border-box;flex-shrink:0;height:38px;object-fit:contain;padding:5px;width:38px}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:.15rem}.sidebar-link{border-radius:var(--radius-md);color:var(--color-text-body);font-size:.875rem;font-weight:500;letter-spacing:.005em;padding:.62rem .8rem;position:relative;text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.sidebar-link:hover{background:#fff2f3e6;color:var(--color-text-heading);transform:translateX(2px)}.sidebar-link.active{background:linear-gradient(135deg,var(--brand-pink) 0,#f5b9c6 100%);box-shadow:var(--shadow-accent),var(--sheen);color:var(--color-accent-text);font-weight:600}.sidebar-link.active:hover{transform:none}.sidebar-link.active:before{background:var(--espresso);border-radius:0 var(--radius-pill) var(--radius-pill) 0;content:"";height:55%;left:0;opacity:.55;position:absolute;top:50%;transform:translateY(-50%);width:3px}.sidebar-footer{border-top:1px solid #f4a9b640;display:flex;flex-direction:column;gap:.6rem;margin-top:.75rem;padding-top:1rem}.sidebar-user{color:var(--color-text-muted);font-size:.72rem;overflow:hidden;padding:0 .5rem;text-overflow:ellipsis;white-space:nowrap}.sidebar-signout{background:var(--surface-card);border:1px solid #f0b4d08c;border-radius:var(--radius-md);box-shadow:var(--shadow-xs);color:var(--color-text-body);cursor:pointer;font-size:.82rem;font-weight:500;padding:.55rem}.sidebar-signout:hover{background:var(--very-light-pink);border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);color:var(--color-text-heading)}.app-content{flex:1 1;margin:0 auto;max-width:1240px;min-width:0;padding:2.5rem 3rem 4rem}@media (max-width:900px){.app-content{padding:1.75rem 1.5rem 3rem}}.login-screen{align-items:center;background:var(--color-bg-page);display:flex;justify-content:center;min-height:100vh}.login-card{background:var(--surface-raised);border:1px solid #f4a9b666;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),var(--sheen);display:flex;flex-direction:column;max-width:360px;padding:2.75rem 2.25rem;width:100%}.login-logo{background:var(--very-light-pink);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs),var(--sheen);box-sizing:border-box;height:64px;margin:0 auto .9rem;object-fit:contain;padding:9px;width:64px}.login-card h1{color:var(--color-text-heading);font-family:var(--font-heading);font-size:1.5rem;margin:0;text-align:center}.login-subtitle{color:var(--color-text-muted);font-size:.9rem;margin:.25rem 0 1.75rem;text-align:center}.login-card label{color:var(--color-text-body);font-size:.8rem;margin-bottom:.35rem;margin-top:.9rem}.login-card input{background:#fffdfd;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.95rem;padding:.65rem .8rem}.login-card input:focus{border-color:var(--color-accent);outline:none}.login-card button{background:var(--gradient-cta);border:none;border-radius:var(--radius-pill);box-shadow:var(--shadow-cta),var(--sheen);color:var(--color-cta-text);cursor:pointer;font-size:.95rem;font-weight:600;letter-spacing:.01em;margin-top:1.75rem;padding:.75rem}.login-card button:hover:not(:disabled){background:var(--gradient-cta-hover);box-shadow:0 4px 10px #bb2f5e4d,0 12px 28px #bb2f5e38,var(--sheen);transform:translateY(-1px)}.login-card button:disabled{cursor:default;opacity:.6}.login-error{color:var(--color-danger);font-size:.85rem;margin-top:.9rem}.page-header{margin-bottom:2rem}.page-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:1.25rem}.page-header-actions{align-items:center;display:flex;gap:.5rem;margin-left:auto}.page-header h1{color:var(--color-text-heading);font-family:var(--font-heading);font-size:2rem;letter-spacing:-.02em;line-height:1.15;margin:0 0 .45rem}.page-header p{color:var(--color-text-muted);font-size:.92rem;line-height:1.5;margin:0;max-width:62ch}@media (max-width:700px){.page-header h1{font-size:1.6rem}}.ov-page{display:flex;flex-direction:column;gap:1.5rem}.ov-empty,.ov-error,.ov-loading{color:var(--color-text-muted);font-size:.9rem}.ov-error{color:var(--color-danger)}.ov-period{align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);display:inline-flex;gap:.45rem;padding:.5rem .85rem}.ov-period select{background:none;border:none;color:var(--color-text-body);cursor:pointer;font-family:var(--font-body);font-size:.9rem}.ov-period select:focus{outline:none}.ov-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;border-radius:var(--radius-md,12px);padding:1.25rem 1.4rem}.ov-card-head{align-items:center;display:flex;gap:.6rem;margin-bottom:1rem}.ov-card-head h2{color:var(--color-text-heading);font-family:var(--font-heading);font-size:1.05rem;margin:0}.ov-money{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.25fr)}.ov-stat h3{color:var(--color-text-muted);font-family:var(--font-body);font-size:.85rem;font-weight:500;margin:0 0 .35rem}.ov-stat-icon{align-items:center;border-radius:50%;display:flex;font-size:1rem;height:2.1rem;justify-content:center;margin-bottom:.75rem;width:2.1rem}.ov-stat-icon.income{background:#e8f3ec;color:#2f7d55}.ov-stat-icon.expense{background:#fdeceb;color:#b3352c}.ov-stat-icon.net{background:#f4ecfa;color:#6b3fa0}.ov-stat-value{font-feature-settings:"tnum";color:var(--color-text-heading);font-family:var(--font-body);font-size:1.65rem;font-variant-numeric:tabular-nums;font-weight:600;margin:0 0 .5rem}.ov-stat-value.negative{color:var(--color-danger)}.ov-delta{align-items:center;color:var(--color-text-muted);display:flex;font-size:.78rem;gap:.3rem}.ov-delta.good span[aria-hidden]{color:#2f7d55}.ov-delta.bad span[aria-hidden]{color:#b3352c}.ov-delta.muted{font-style:italic}.ov-goal{background:linear-gradient(160deg,#fdf4ec,#fbeee6);border-color:#f0dcc8}.ov-goal h3{color:#8a6534;font-size:.85rem;font-weight:500;margin:0 0 .6rem}.ov-goal h3,.ov-goal-figure{font-family:var(--font-body)}.ov-goal-figure{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:0 0 .75rem}.ov-goal-figure strong{color:var(--color-text-heading);font-size:1.35rem;font-weight:600}.ov-goal-figure span{color:var(--color-text-muted);font-size:.85rem}.ov-goal-bar{background:#f2e3d3;border-radius:999px;height:.5rem;overflow:hidden}.ov-goal-bar span{background:linear-gradient(90deg,#e0a458,#d18b3d);border-radius:999px;display:block;height:100%}.ov-goal-pct{color:#8a6534;font-size:.82rem;font-weight:500;margin:.5rem 0 0}.ov-columns{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)}.ov-round-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:2.3rem;justify-content:center;width:2.3rem}.ov-round-icon svg{height:1.1rem;width:1.1rem}.ov-round-icon.task{background:#fdeaf0;color:var(--color-cta)}.ov-round-icon.po{background:#fdf0e2;color:#b9762a}.ov-round-icon.marketing{background:#f2ecfb;color:#6b3fa0}.ov-round-icon.batch{background:#fdeaf0;color:var(--color-cta)}.ov-attention-row{align-items:flex-start;border-top:1px solid var(--color-border);display:flex;gap:.9rem;padding:1rem 0}.ov-attention-row:first-of-type{border-top:none;padding-top:0}.ov-attention-main{flex:1 1;min-width:0}.ov-attention-heading{font-size:.92rem;font-weight:600;margin:0 0 .4rem}.ov-attention-heading.task{color:var(--color-cta)}.ov-attention-heading.po{color:#b9762a}.ov-attention-heading.marketing{color:#6b3fa0}.ov-attention-main ul{display:flex;flex-direction:column;gap:.3rem;list-style:none;margin:0;padding:0}.ov-attention-main li{align-items:baseline;color:var(--color-text-body);display:flex;font-size:.85rem;gap:1rem;justify-content:space-between}.ov-attention-main li span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-attention-meta{color:var(--color-text-muted);flex-shrink:0;font-size:.75rem}.ov-attention-empty{color:var(--color-text-muted);font-size:.85rem;margin:0}.ov-link-button{align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-body);display:inline-flex;flex-shrink:0;font-size:.82rem;gap:.4rem;padding:.45rem .85rem;text-decoration:none;white-space:nowrap}.ov-link-button:hover{border-color:var(--color-cta);color:var(--color-cta)}.ov-batch-name{color:var(--color-text-heading);font-family:var(--font-heading);font-size:1.3rem;margin:0 0 .2rem}.ov-batch-code{color:var(--color-text-muted);font-size:.85rem;margin:0 0 1rem}.ov-batch-facts{display:flex;gap:2rem;margin:0 0 1.25rem}.ov-batch-facts dt{color:var(--color-text-muted);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.ov-batch-facts dd{color:var(--color-text-heading);font-family:var(--font-body);font-size:1rem;font-weight:500;margin:.15rem 0 0}.ov-activity-days{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ov-activity-day h4{color:var(--color-cta);font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.08em;margin:0 0 .6rem;text-transform:uppercase}.ov-activity-day ul{display:flex;flex-direction:column;gap:.55rem;list-style:none;margin:0;padding:0}.ov-activity-day li{align-items:baseline;color:var(--color-text-body);display:flex;font-size:.85rem;gap:.6rem}.ov-activity-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-activity-text strong{font-weight:500}.ov-activity-day time{font-feature-settings:"tnum";color:var(--color-text-muted);flex-shrink:0;font-size:.78rem;font-variant-numeric:tabular-nums}.ov-dot{border-radius:50%;flex-shrink:0;height:.5rem;width:.5rem}.ov-dot.positive{background:#3d9970}.ov-dot.task{background:var(--color-cta)}.ov-dot.po{background:#d18b3d}.ov-dot.marketing{background:#6b3fa0}.ov-dot.neutral{background:var(--color-border-strong)}@media (max-width:1100px){.ov-money{grid-template-columns:repeat(2,minmax(0,1fr))}.ov-columns{grid-template-columns:1fr}}@media (max-width:640px){.ov-money{grid-template-columns:1fr}.ov-attention-row{flex-wrap:wrap}.ov-link-button{margin-left:3.2rem}}.badge{border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px rgba(58,42,47,.055),inset 0 1px 0 #ffffff80;display:inline-block;font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.015em;max-width:100%;overflow:hidden;padding:.22rem .65rem;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.badge-neutral{background:var(--light-pink);color:var(--color-text-heading)}.badge-success{background:#eef3ec;color:#5b7a55}.badge-accent,.badge-warning{background:#f8f0e0;color:#8a6d34}.badge-danger{background:#fbe4e4;color:var(--color-danger)}.badge-muted{background:#f2ece7;color:var(--color-text-muted)}.finances-toolbar{gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.finances-tabs{display:flex;flex-wrap:wrap;gap:.4rem}.finances-toolbar-right,.period-picker{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.period-custom{align-items:center;display:flex;gap:.4rem}.period-custom label{align-items:center;color:var(--color-text-muted);display:flex;font-size:.75rem;gap:.3rem}.period-custom input{background:var(--color-bg-card);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.8rem;padding:.35rem .5rem}.period-custom input:focus{border-color:var(--color-accent);outline:none}.period-resolved{color:var(--color-text-muted);font-size:.75rem;white-space:nowrap}.finances-export{background:var(--surface-card);border:1px solid #f0b4d099;border-radius:var(--radius-pill);box-shadow:var(--shadow-xs);color:var(--color-text-body);cursor:pointer;font-size:.82rem;font-weight:500;padding:.45rem .9rem;white-space:nowrap}.finances-export:hover:not(:disabled){background:var(--very-light-pink);border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);color:var(--color-text-heading)}.finances-export:disabled{cursor:default;opacity:.5}.pnl{max-width:780px}.pnl-statement-head{margin-bottom:1.25rem}.pnl-statement-head h3{color:var(--color-text-heading);font-family:var(--font-heading);font-size:1.25rem;letter-spacing:-.01em;margin:0 0 .2rem}.pnl-statement-head p{color:var(--color-text-muted);font-size:.85rem;margin:0}.pnl-table{width:100%}.pnl-table td{padding:.5rem .75rem}.pnl-indent{color:var(--color-text-body);padding-left:1.75rem!important}.pnl-none{color:var(--color-text-muted);font-style:italic}.pnl-section-head td{color:var(--color-text-muted);font-size:.72rem;font-weight:600;letter-spacing:.08em;padding-top:1.25rem;text-transform:uppercase}.pnl-subtotal td{border-top:1px solid #f4a9b680}.pnl-highlight td,.pnl-subtotal td{color:var(--color-text-heading);font-weight:600}.pnl-highlight td{background:var(--very-light-pink);border-bottom:1px solid #f0b4d0b3;border-top:1px solid #f0b4d0b3;font-size:.98rem}.pnl-net td{background:linear-gradient(180deg,#fdf4f6,#fbeef1);border-top:2px solid var(--color-border-strong);color:var(--color-text-heading);font-size:1.1rem;font-weight:700}.pnl-net-loss td{color:var(--color-danger)}.pnl-margins{display:flex;gap:1rem;margin-top:1.25rem}.pnl-margin{background:var(--surface-card);border:1px solid #f4a9b666;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm),var(--sheen);display:flex;flex:1 1;flex-direction:column;gap:.2rem;padding:.9rem 1.1rem}.pnl-margin-label{color:var(--color-text-muted);font-size:.75rem}.pnl-margin-value{color:var(--color-text-heading);font-family:var(--font-body);font-size:1.5rem;font-weight:600}.pnl-note{color:var(--color-text-muted);font-size:.8rem;line-height:1.55;margin-top:1.25rem}.bs-subsection td{color:var(--color-text-body);font-size:.78rem;font-weight:600;padding-left:1.1rem!important}.bs-note{color:var(--color-text-muted);font-size:.76rem}.bs-actions{text-align:right;white-space:nowrap;width:1%}.bs-balance{border-radius:var(--radius-md);font-size:.85rem;font-weight:500;margin-top:1.1rem;padding:.75rem 1rem}.bs-balance-ok{background:#eef3ec;box-shadow:inset 0 0 0 1px #5b7a5540;color:#4a6b45}.bs-balance-off{background:#fbe4e4;box-shadow:inset 0 0 0 1px #b3261e38;color:var(--color-danger)}.bs-add-button{background:var(--surface-card);border:1px dashed #f0b4d0e6;border-radius:var(--radius-md);color:var(--muted-pink);cursor:pointer;font-size:.85rem;margin-top:1.25rem;padding:.6rem 1rem}.bs-add-button:hover{background:var(--very-light-pink);border-color:var(--color-border-strong)}.bs-form{background:var(--surface-raised);border:1px solid #f4a9b666;border-radius:var(--radius-xl);box-shadow:var(--shadow-md),var(--sheen);margin-top:1.25rem;padding:1.4rem 1.6rem}.bs-form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.bs-form-wide{grid-column:1/-1}.bs-form label{color:var(--color-text-body);display:flex;flex-direction:column;font-size:.8rem;gap:.35rem}.bs-form input,.bs-form select{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;padding:.55rem .65rem}.bs-form input:focus,.bs-form select:focus{border-color:var(--color-accent);outline:none}.bs-form-actions{align-items:center;display:flex;gap:.75rem;margin-top:1.25rem}.bs-form-actions button{border-radius:var(--radius-pill);cursor:pointer;font-size:.88rem;padding:.6rem 1.1rem}.bs-form-actions button[type=submit]{background:var(--gradient-cta);border:none;box-shadow:var(--shadow-cta),var(--sheen);color:var(--color-cta-text);font-weight:600}.bs-form-actions button:disabled{cursor:default;opacity:.6}.bs-form-cancel{background:none;border:1px solid var(--color-border-strong);color:var(--color-text-body)}.finances-tab{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-body);cursor:pointer;font-size:.85rem;padding:.5rem .9rem}.finances-tab.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text);font-weight:600}.finances-year-select{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-body);font-size:.85rem;padding:.5rem .75rem}.finances-error{color:var(--color-danger);font-size:.85rem;margin-bottom:1rem}.finances-loading{color:var(--color-text-muted);font-size:.9rem}.entry-form{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem 1.75rem}.entry-form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.entry-form-wide{grid-column:span 2}.entry-form label{color:var(--color-text-body);display:flex;flex-direction:column;font-size:.8rem;gap:.35rem}.entry-form input,.entry-form select{border:1px solid var(--color-border-strong);border-radius:8px;font-family:var(--font-body);font-size:.9rem;padding:.55rem .65rem}.entry-form input:focus,.entry-form select:focus{border-color:var(--color-accent);outline:none}.entry-form input:disabled{background:var(--light-pink);color:var(--color-text-muted);cursor:not-allowed}.entry-form-jmd-preview{color:var(--color-text-muted);font-size:.85rem;margin:1rem 0 0}.entry-form-error{color:var(--color-danger);font-size:.85rem;margin:.75rem 0 0}.entry-form-actions{align-items:center;display:flex;gap:.75rem;margin-top:1.25rem}.entry-form-actions button{border-radius:8px;cursor:pointer;font-size:.9rem;padding:.6rem 1.1rem}.entry-form-actions button[type=submit]{background:var(--color-cta);border:none;color:var(--color-cta-text);font-weight:600}.entry-form-actions button[type=submit]:hover:not(:disabled){background:var(--color-cta-hover)}.entry-form-actions button:disabled{cursor:default;opacity:.6}.entry-form-cancel{background:none;border:1px solid var(--color-border-strong);color:var(--color-text-body)}.entry-table-empty{color:var(--color-text-muted);font-size:.9rem}.entry-table-scroll{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;overflow-x:auto}.entry-table{border-collapse:collapse;font-size:.85rem;min-width:860px;table-layout:fixed;width:100%}.entry-table col.col-date{width:96px}.entry-table col.col-category{width:190px}.entry-table col.col-vendor{width:130px}.entry-table col.col-order{width:110px}.entry-table col.col-channel{width:100px}.entry-table col.col-payment{width:120px}.entry-table col.col-amount{width:110px}.entry-table col.col-actions{width:100px}.entry-table td,.entry-table th{border-bottom:1px solid var(--color-border);padding:.6rem .85rem;text-align:left;vertical-align:top}.entry-table th{color:var(--color-text-muted);font-size:.75rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle}.entry-table tbody tr:nth-child(2n){background:var(--very-light-pink)}.entry-table tbody tr:hover{background:var(--color-row-hover)}.entry-table tbody tr:last-child td{border-bottom:none}.entry-table-nowrap{white-space:nowrap}.entry-table-numeric{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.entry-table-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-table-clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.entry-table-actions{display:flex;gap:.75rem;white-space:nowrap}.entry-table-edit{color:var(--muted-pink)}.entry-table-delete,.entry-table-edit{background:none;border:none;cursor:pointer;font-size:.8rem;padding:0}.entry-table-delete{color:var(--color-danger)}.entry-table-total-label,.entry-table-total-value{color:var(--color-text-heading);font-weight:600}.tax-estimate-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.tax-estimate-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;gap:.4rem;padding:1.1rem 1.25rem}.tax-estimate-highlight{background:#faf3e6;border-color:var(--gold)}.tax-estimate-label{color:var(--color-text-muted);font-size:.78rem}.tax-estimate-value{color:var(--color-text-heading);font-family:var(--font-body);font-size:1.3rem;font-weight:600}.tax-estimate-note{color:var(--color-text-body);font-size:.85rem;margin-bottom:1.5rem}.tax-estimate-gct{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.tax-estimate-gct h3{color:var(--color-text-heading);font-family:var(--font-heading);font-size:1.05rem;margin:0 0 .6rem}.tax-estimate-gct p{color:var(--color-text-body);font-size:.88rem;margin:.3rem 0}.tax-estimate-warning{color:var(--color-danger);font-weight:600}.tax-estimate-ok{color:var(--color-success);font-weight:600}.tax-estimate-disclaimer{color:var(--color-text-muted);font-size:.78rem;font-style:italic}.finances-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.finances-toolbar .finances-export{margin-left:auto}.finances-summary{align-items:center;background:var(--surface-card);border:1px solid #f4a9b666;border-radius:var(--radius-lg);box-shadow:var(--shadow-xs),var(--sheen);display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:1.25rem;padding:.9rem 1.25rem}.finances-stat{display:flex;flex-direction:column;gap:.1rem}.finances-stat-label{color:var(--color-text-muted);font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.finances-stat-value{font-feature-settings:"tnum";color:var(--color-text-heading);font-family:var(--font-body);font-size:1.15rem;font-variant-numeric:tabular-nums;font-weight:600}.finances-stat-value.positive{color:#4a7a48}.finances-stat-value.negative{color:var(--color-danger)}.finances-summary-period{color:var(--color-text-muted);font-size:.78rem;margin-left:auto}.entry-table td.entry-table-nowrap:has(.badge){white-space:normal}.entry-table tbody .badge{line-height:1.35;max-width:none;overflow:visible;text-overflow:clip;white-space:normal}.formula-error{color:var(--color-danger);font-size:.85rem;margin-bottom:1rem}.formula-list-empty,.formula-loading{color:var(--color-text-muted);font-size:.9rem}.formula-add-button{background:var(--color-cta);border:none;border-radius:8px;color:var(--color-cta-text);cursor:pointer;font-size:.9rem;font-weight:600;margin-bottom:1.5rem;padding:.6rem 1.1rem}.formula-add-button:hover{background:var(--color-cta-hover)}.formula-form{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem 1.75rem}.formula-form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.formula-form-wide{grid-column:span 2}.formula-form label{color:var(--color-text-body);display:flex;flex-direction:column;font-size:.8rem;gap:.35rem}.formula-form input,.formula-form select{border:1px solid var(--color-border-strong);border-radius:8px;font-family:var(--font-body);font-size:.9rem;padding:.55rem .65rem}.formula-form input:focus,.formula-form select:focus{border-color:var(--color-accent);outline:none}.formula-fill-calculator{background:var(--very-light-pink);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-direction:column;gap:.5rem;margin:1rem 0;padding:.85rem 1rem}.formula-fill-calculator-label{color:var(--color-text-heading);font-size:.78rem;font-weight:600}.formula-fill-calculator-sizes{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.formula-fill-size{background:var(--color-bg-card);border:1px solid var(--color-border-strong);border-radius:999px;color:var(--color-text-body);cursor:pointer;font-size:.82rem;padding:.35rem .8rem}.formula-fill-size.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text);font-weight:600}.formula-fill-count-input,.formula-fill-oz-input{border:1px solid var(--color-border-strong);border-radius:6px;font-family:var(--font-body);font-size:.85rem;padding:.4rem .6rem;width:90px}.formula-fill-calculator-sizes span{color:var(--color-text-muted);font-size:.85rem}.formula-fill-result{color:var(--color-text-heading)!important;font-weight:600}.formula-fill-remove-row{background:none;border:none;color:var(--color-danger);cursor:pointer;font-size:.78rem;margin-left:auto;padding:0}.formula-fill-remove-row:disabled{cursor:default;opacity:.4}.formula-fill-add-row{align-self:flex-start;background:none;border:1px dashed var(--color-border-strong);border-radius:8px;color:var(--muted-pink);cursor:pointer;font-size:.8rem;padding:.35rem .75rem}.formula-fill-calculator-hint{color:var(--color-text-muted);font-size:.75rem}.formula-form-subheading{color:var(--color-text-heading);font-family:var(--font-heading);font-size:1.05rem;margin:1.75rem 0 .75rem}.formula-ingredient-rows{display:flex;flex-direction:column;gap:.5rem}.formula-ingredient-row{grid-gap:.5rem;align-items:center;display:grid;gap:.5rem;grid-template-columns:1.4fr 1.4fr .6fr .9fr .9fr auto}.formula-ingredient-row-header{color:var(--color-text-muted);font-size:.72rem;letter-spacing:.03em;text-transform:uppercase}.formula-ingredient-row input{border:1px solid var(--color-border-strong);border-radius:6px;box-sizing:border-box;font-family:var(--font-body);font-size:.85rem;padding:.5rem .6rem;width:100%}.formula-ingredient-cost{font-feature-settings:"tnum";color:var(--color-text-body);font-size:.85rem;font-variant-numeric:tabular-nums}.formula-ingredient-remove{background:none;border:none;color:var(--color-danger);cursor:pointer;font-size:.78rem;padding:0}.formula-ingredient-remove:disabled{cursor:default;opacity:.4}.formula-add-row{background:none;border:1px dashed var(--color-border-strong);border-radius:8px;color:var(--muted-pink);cursor:pointer;font-size:.85rem;margin-top:.75rem;padding:.5rem .9rem}.formula-form-totals{color:var(--color-text-body);display:flex;font-size:.88rem;gap:1.5rem;margin-top:1.25rem}.formula-total-ok{color:var(--color-success);font-weight:600}.formula-total-warn{color:var(--color-danger);font-weight:600}.formula-form-error{color:var(--color-danger);font-size:.85rem;margin:.75rem 0 0}.formula-form-actions{align-items:center;display:flex;gap:.75rem;margin-top:1.5rem}.formula-form-actions button{border-radius:8px;cursor:pointer;font-size:.9rem;padding:.6rem 1.1rem}.formula-form-actions button[type=submit]{background:var(--color-cta);border:none;color:var(--color-cta-text);font-weight:600}.formula-form-actions button[type=submit]:hover:not(:disabled){background:var(--color-cta-hover)}.formula-form-actions button:disabled{cursor:default;opacity:.6}.formula-form-cancel{background:none;border:1px solid var(--color-border-strong);color:var(--color-text-body)}.formula-list{display:flex;flex-direction:column;gap:.75rem}.formula-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.formula-card-header{align-items:center;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.25rem}.formula-card-header:hover{background:var(--very-light-pink)}.formula-card-title{align-items:baseline;color:var(--color-text-heading);display:flex;font-family:var(--font-heading);font-size:1.05rem;gap:.5rem}.formula-card-version{color:var(--color-text-muted);font-family:var(--font-body);font-size:.75rem;font-weight:500}.formula-card-type{color:var(--color-text-muted);font-size:.8rem;margin-top:.2rem}.formula-card-stats{font-feature-settings:"tnum";color:var(--color-text-body);display:flex;font-size:.85rem;font-variant-numeric:tabular-nums;gap:1.25rem;white-space:nowrap}.formula-card-body{border-top:1px solid var(--color-border);padding:0 1.25rem 1.25rem}.formula-card-notes{color:var(--color-text-body);font-size:.85rem;margin:1rem 0 0}.formula-ingredient-table{border-collapse:collapse;font-size:.85rem;margin-top:1rem;width:100%}.formula-ingredient-table td,.formula-ingredient-table th{border-bottom:1px solid var(--color-border);padding:.5rem .6rem;text-align:left}.formula-ingredient-table th{color:var(--color-text-muted);font-size:.72rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.formula-card-actions{display:flex;gap:1rem;margin-top:1rem}.formula-card-actions button{background:none;border:none;cursor:pointer;font-size:.82rem;padding:0}.formula-card-edit{color:var(--muted-pink)}.formula-card-duplicate{color:var(--gold)}.formula-card-delete{color:var(--color-danger)}.ingredient-warning{background:#fdf3c9;border-radius:var(--radius-md);color:#7a5f1f;font-size:.82rem;margin:0 0 1rem;padding:.6rem .9rem}.ingredient-form{background:var(--surface-sunken);border:1px solid #f4a9b666;border-radius:var(--radius-lg);margin-bottom:1.25rem;padding:1.25rem}.ingredient-form-grid{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.ingredient-form-wide{grid-column:1/-1}.ingredient-form label{color:var(--color-text-body);display:flex;flex-direction:column;font-size:.78rem;gap:.3rem}.ingredient-form input{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.86rem;padding:.55rem .65rem}.ingredient-form input:focus{border-color:var(--color-accent);outline:none}.ingredient-form-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1rem}.ingredient-table-wrap{border:1px solid #f4a9b666;border-radius:var(--radius-lg);overflow:hidden;overflow-x:auto}.ingredient-table{border-collapse:collapse;font-size:.86rem;width:100%}.ingredient-table thead th{background:linear-gradient(180deg,#fdf4f6,#fbeef1);border-bottom:1px solid #f4a9b673;color:var(--color-text-muted);font-size:.7rem;font-weight:600;letter-spacing:.06em;padding:.6rem .85rem;text-align:left;text-transform:uppercase}.ingredient-table td{border-bottom:1px solid #f4a9b638;padding:.6rem .85rem;vertical-align:middle}.ingredient-table tbody tr:last-child td{border-bottom:none}.ingredient-table tbody tr:hover{background:var(--very-light-pink)}.ingredient-table .numeric{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.ingredient-table .muted{color:var(--color-text-muted)}.ingredient-name{color:var(--color-text-heading);display:block;font-weight:600}.ingredient-note{color:var(--color-text-muted);display:block;font-size:.74rem}.ingredient-actions{text-align:right;white-space:nowrap}.ingredient-actions button{background:none;border:none;color:var(--muted-pink);cursor:pointer;font-size:.8rem;margin-left:.75rem;padding:0}.ingredient-actions button.danger{color:var(--color-danger)}.cost-badge{align-items:baseline;display:inline-flex;font-size:.82rem;gap:.4rem}.cost-badge-value{font-feature-settings:"tnum";color:var(--color-text-heading);font-variant-numeric:tabular-nums;font-weight:600}.cost-badge-unit{color:var(--color-text-muted);font-size:.75rem}.cost-badge-unknown{background:#f2ece7;color:var(--color-text-muted);font-size:.72rem;padding:.15rem .5rem}.cost-badge-note,.cost-badge-unknown{border-radius:var(--radius-pill);font-weight:600;white-space:nowrap}.cost-badge-note{background:#fdf3c9;color:#7a5f1f;font-size:.68rem;padding:.1rem .45rem}.formula-workspace{grid-gap:1.25rem;align-items:start;display:grid;gap:1.25rem;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}.formula-list-panel .formula-list{display:flex;flex-direction:column;gap:.6rem}.formula-row{align-items:center;background:var(--color-bg-card);border:1px solid #f4a9b659;border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-wrap:wrap;gap:.85rem;padding:.75rem .85rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.formula-row:hover{border-color:#f0b4d0cc;box-shadow:var(--shadow-sm)}.formula-row.selected{background:var(--very-light-pink);border-color:var(--color-accent);box-shadow:inset 3px 0 0 var(--color-cta)}.formula-row-thumb{align-items:center;background:var(--surface-sunken);border-radius:var(--radius-md);color:var(--muted-pink);display:flex;flex-shrink:0;height:52px;justify-content:center;overflow:hidden;width:52px}.formula-row-thumb img{height:100%;object-fit:cover;width:100%}.formula-row-main{display:flex;flex:1 1 auto;flex-direction:column;gap:.1rem;min-width:190px}.formula-row-title{align-items:center;display:flex;gap:.5rem;min-width:0}.formula-row-name{color:var(--color-text-heading);font-family:var(--font-heading);font-size:.98rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.formula-status{border-radius:var(--radius-pill);font-size:.66rem;font-weight:700;padding:.1rem .5rem}.formula-status-active{background:#e4f2e3;color:#4a7a48}.formula-status-draft{background:#ece9f6;color:#6a5b96}.formula-status-archived{background:#f2ece7;color:var(--color-text-muted)}.formula-row-type{color:var(--color-text-body);font-size:.78rem}.formula-row-meta{color:var(--color-text-muted);font-size:.71rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.formula-row-stats{display:flex;flex-shrink:1;flex-wrap:wrap;gap:.9rem}.formula-stat{display:flex;flex-direction:column;gap:.15rem;min-width:62px}.formula-stat-label{color:var(--color-text-muted);font-size:.64rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.formula-stat-value{font-feature-settings:"tnum";color:var(--color-text-heading);font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:600}.formula-total{font-feature-settings:"tnum";font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:700}.formula-total.ok{color:#4a7a48}.formula-total.off{color:var(--color-danger)}.formula-row-actions{display:flex;flex-shrink:0;gap:.65rem;margin-left:auto}.formula-row-actions button{background:none;border:none;color:var(--muted-pink);cursor:pointer;font-size:.78rem;padding:0}.formula-row-actions button.danger{color:var(--color-danger)}.formula-add-card{align-items:center;background:var(--surface-sunken);border:1.5px dashed #f0b4d0e6;border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;gap:.2rem;margin-top:.85rem;padding:1.4rem 1rem;width:100%}.formula-add-card:hover{background:var(--very-light-pink);border-color:var(--color-accent)}.formula-add-plus{align-items:center;background:var(--color-bg-card);border-radius:50%;box-shadow:var(--shadow-xs);color:var(--muted-pink);display:flex;font-size:1rem;height:28px;justify-content:center;width:28px}.formula-add-title{color:var(--muted-pink);font-size:.9rem;font-weight:600}.formula-add-sub{color:var(--color-text-muted);font-size:.75rem}.formula-detail{display:flex;flex-direction:column;gap:1rem;position:sticky;top:1.5rem}.formula-detail-head{align-items:center;display:flex;gap:1rem;justify-content:space-between}.formula-detail-head h3{color:var(--color-text-heading);font-family:var(--font-heading);font-size:1.15rem;margin:0}.formula-detail-type{color:var(--color-text-muted);font-size:.78rem}.formula-detail-empty{color:var(--color-text-muted);font-size:.88rem;text-align:center}.panel-head{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.75rem}.panel-label{align-items:center;color:var(--color-text-heading);display:inline-flex;font-size:.68rem;font-weight:700;gap:.4rem;letter-spacing:.08em;text-transform:uppercase}.panel-label svg{color:var(--muted-pink)}.formula-muted{color:var(--color-text-muted);font-size:.82rem;margin:0}.formula-warning{background:#fdf3c9;border-radius:var(--radius-md);color:#7a5f1f;font-size:.8rem;margin:0 0 .75rem;padding:.6rem .85rem}.version-list{display:flex;flex-direction:column;gap:.35rem;list-style:none;margin:0;padding:0}.version-row{align-items:center;background:var(--color-bg-card);border:1px solid #f4a9b64d;border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:.5rem;padding:.55rem .7rem}.version-row.current{background:var(--very-light-pink);border-color:var(--color-accent)}.version-number{color:var(--color-text-heading);font-size:.85rem;font-weight:700}.version-active{background:#e4f2e3;border-radius:var(--radius-pill);color:#4a7a48;font-size:.62rem;font-weight:700;padding:.08rem .45rem}.version-date{color:var(--color-text-muted);font-size:.74rem}.version-note{color:var(--color-text-body);flex-basis:100%;font-size:.74rem}.version-actions{display:flex;gap:.6rem;margin-left:auto}.batch-filters{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.batch-filter{background:var(--color-bg-card);border:1px solid #f0b4d080;border-radius:var(--radius-pill);color:var(--color-text-body);cursor:pointer;font-size:.74rem;padding:.25rem .6rem}.batch-filter.active{background:var(--very-light-pink);border-color:var(--color-accent);color:var(--muted-pink);font-weight:600}.batch-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.batch-row{background:var(--color-bg-card);border:1px solid #f4a9b64d;border-radius:var(--radius-md);padding:.6rem .75rem}.batch-row-head{align-items:center;display:flex;gap:.5rem}.batch-code{color:var(--color-text-heading);font-size:.82rem;font-weight:700}.batch-date{color:var(--color-text-muted);font-size:.72rem;margin-left:auto}.batch-status{border-radius:var(--radius-pill);font-size:.62rem;font-weight:700;padding:.08rem .45rem}.batch-status-done{background:#e4f2e3;color:#4a7a48}.batch-status-progress{background:#fdf3c9;color:#7a5f1f}.batch-status-hold{background:#f2ece7;color:var(--color-text-muted)}.batch-status-failed{background:#fbe4e4;color:var(--color-danger)}.batch-version{color:var(--color-text-muted);display:block;font-size:.74rem;margin:.15rem 0 .35rem}.batch-stats{color:var(--color-text-heading);display:flex;font-size:.76rem;gap:1rem}.batch-stats em{color:var(--color-text-muted);display:block;font-size:.64rem;font-style:normal;letter-spacing:.05em;text-transform:uppercase}.version-modal{background:var(--surface-raised);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-height:min(88vh,820px);overflow-y:auto;padding:1.75rem;position:relative;width:min(760px,100%)}.version-modal-head{margin-bottom:1rem;padding-right:2.5rem}.version-modal-head h3{color:var(--color-text-heading);font-family:var(--font-heading);font-size:1.3rem;margin:0 0 .2rem}.version-chip{background:var(--color-accent);border-radius:var(--radius-pill);color:var(--espresso);font-family:var(--font-body);font-size:.72rem;font-weight:700;padding:.1rem .5rem;vertical-align:middle}.version-change-note{background:var(--very-light-pink);border-radius:var(--radius-md);color:var(--color-text-body);font-size:.82rem;margin:0 0 1rem;padding:.65rem .85rem}.scale-bar{align-items:center;background:var(--surface-sunken);border:1px solid #f4a9b666;border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;padding:.75rem .9rem}.scale-bar label{align-items:center;color:var(--color-text-heading);display:inline-flex;font-size:.85rem;font-weight:600;gap:.45rem}.scale-bar input{font-feature-settings:"tnum";border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;font-variant-numeric:tabular-nums;padding:.4rem .55rem;width:110px}.scale-note{color:var(--color-text-muted);flex-basis:100%;font-size:.72rem}.version-table-wrap{border:1px solid #f4a9b666;border-radius:var(--radius-lg);overflow:hidden;overflow-x:auto}.version-table{border-collapse:collapse;font-size:.84rem;width:100%}.version-table th{background:linear-gradient(180deg,#fdf4f6,#fbeef1);color:var(--color-text-muted);font-size:.66rem;font-weight:700;letter-spacing:.06em;padding:.55rem .8rem;text-align:left;text-transform:uppercase}.version-table td{border-top:1px solid #f4a9b638;padding:.5rem .8rem}.version-table .numeric{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.version-table .strong{color:var(--color-text-heading);font-weight:700}.version-table tfoot td{background:var(--very-light-pink);border-top:2px solid #f4a9b699;font-weight:700}.version-table .ok{color:#4a7a48}.version-table .off{color:var(--color-danger)}.phase-row td{background:var(--surface-sunken);color:var(--muted-pink);font-size:.66rem;font-weight:700;letter-spacing:.07em;padding:.4rem .8rem;text-transform:uppercase}.version-ing-name{color:var(--color-text-heading);display:block}.version-ing-note{color:var(--color-text-muted);display:block;font-size:.72rem}.version-modal-footer{display:flex;justify-content:flex-end;margin-top:1rem}.compare-pickers{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.compare-pickers label{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:.8rem;gap:.4rem}.compare-pickers select{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.85rem;padding:.4rem .6rem}.compare-arrow{color:var(--muted-pink);font-weight:700}.compare-summary{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem}.compare-pill,.compare-tag{border-radius:var(--radius-pill);font-size:.68rem;font-weight:700;padding:.12rem .5rem}.compare-added{background:#e4f2e3;color:#3f6f3d}.compare-removed{background:#fbe4e4;color:var(--color-danger)}.compare-increased{background:#fde9ee;color:#b4587a}.compare-decreased{background:#e9eef8;color:#4a5f8a}.compare-unchanged{background:#f2ece7}.compare-row.compare-unchanged td,.compare-unchanged{color:var(--color-text-muted)}@media (max-width:1150px){.formula-workspace{grid-template-columns:minmax(0,1fr)}.formula-detail{position:static}}.formula-ingredient-row{grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr) 80px minmax(0,1.2fr) 90px 60px}.formula-ingredient-row select{background:#fffdfd;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.85rem;padding:.5rem .55rem}.formula-change-note{background:var(--very-light-pink);border:1px solid var(--color-accent);border-radius:var(--radius-lg);color:var(--color-text-heading);display:flex;flex-direction:column;font-size:.82rem;font-weight:600;gap:.35rem;margin-bottom:1.25rem;padding:.9rem 1rem}.formula-change-note input{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.88rem;font-weight:400;padding:.55rem .65rem}.formula-change-hint{color:var(--color-text-muted);font-size:.74rem;font-weight:400}.batch-form-grid{grid-gap:.9rem;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1rem}.batch-form-grid label{color:var(--color-text-body);display:flex;flex-direction:column;font-size:.78rem;gap:.3rem}.batch-form-grid input,.batch-form-grid select{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.88rem;padding:.55rem .65rem}.batch-form-grid input:focus,.batch-form-grid select:focus{border-color:var(--color-accent);outline:none}.batch-scale-note{background:var(--very-light-pink);border-radius:var(--radius-md);color:var(--color-text-heading);font-size:.84rem;margin-bottom:.7rem;padding:.6rem .85rem}.batch-form-hint{color:var(--color-text-muted);font-size:.76rem;margin:.85rem 0 0}.batch-row-clickable{cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.batch-row-clickable:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.batch-section-heading{color:var(--color-text-heading);font-family:var(--font-heading);font-size:.95rem;margin:1.1rem 0 .15rem}.batch-obs-hint{margin:0 0 .75rem!important}.batch-notes-field{color:var(--color-text-body);display:flex;flex-direction:column;font-size:.78rem;gap:.3rem;margin-top:.9rem}.batch-notes-field textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.88rem;padding:.55rem .65rem;resize:vertical}.batch-notes-field textarea:focus{border-color:var(--color-accent);outline:none}.batch-dialog-actions{align-items:center;display:flex;gap:.6rem;margin-top:1.25rem}.batch-dialog-actions .ghost-button{margin-left:auto}.batch-delete{background:none;border:1px solid #b3261e4d;border-radius:var(--radius-pill);color:var(--color-danger);cursor:pointer;font-size:.82rem;padding:.55rem .9rem}.batch-delete:hover:not(:disabled){background:#fbe4e4}.formula-detail-head{gap:.85rem}.formula-detail-titles{flex:1 1;min-width:0}.formula-photo{align-items:center;background:var(--surface-sunken);border:1.5px dashed #f0b4d0e6;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-shrink:0;height:54px;justify-content:center;overflow:hidden;padding:0;position:relative;width:54px}.formula-photo:hover{background:var(--very-light-pink);border-color:var(--color-accent)}.formula-photo img{height:100%;object-fit:cover;width:100%}.formula-photo-empty{color:var(--muted-pink);font-size:.66rem;font-weight:600}.formula-photo-loading{align-items:center;background:#fffc;color:var(--muted-pink);display:flex;font-size:1.1rem;inset:0;justify-content:center;position:absolute}.batch-modal .batch-form-top{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.yield-rows{align-items:flex-start;display:flex;flex-direction:column;gap:.45rem}.yield-row{align-items:center;display:flex;gap:.5rem}.yield-count{font-feature-settings:"tnum";font-family:var(--font-body);font-size:.9rem;font-variant-numeric:tabular-nums;text-align:right;width:76px}.yield-count,.yield-size{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:.5rem .6rem}.yield-size{font-family:var(--font-body);font-size:.9rem;width:150px}.yield-count:focus,.yield-size:focus{border-color:var(--color-accent);outline:none}.yield-times{color:var(--color-text-muted);font-size:.9rem}.yield-remove{background:var(--very-light-pink);border:none;border-radius:50%;color:var(--muted-pink);cursor:pointer;font-size:.95rem;height:24px;line-height:1;padding:0;width:24px}.yield-remove:hover{background:#fbe4e4;color:var(--color-danger)}.yield-add{background:none;border:1px dashed #f0b4d0e6;border-radius:var(--radius-pill);color:var(--muted-pink);cursor:pointer;font-size:.8rem;margin-top:.15rem;padding:.4rem .8rem}.yield-add:hover{border-color:var(--color-accent)}.yield-add:hover,.yield-total{background:var(--very-light-pink)}.yield-total{border-radius:var(--radius-pill);color:var(--color-text-heading);display:inline-block;font-size:.82rem;font-weight:600;margin-top:.7rem;padding:.45rem .8rem}.batch-error{color:var(--color-danger);font-size:.85rem;margin-bottom:1rem}.batch-empty,.batch-loading{color:var(--color-text-muted);font-size:.9rem}.batch-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.batch-add-button{background:var(--color-cta);border:none;border-radius:8px;color:var(--color-cta-text);cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.1rem}.batch-add-button:hover{background:var(--color-cta-hover)}.batch-formula-filter{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-body);font-size:.82rem;padding:.4rem .65rem}.batch-form{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem 1.75rem}.batch-form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.batch-form-wide{grid-column:1/-1}.batch-form label{color:var(--color-text-body);display:flex;flex-direction:column;font-size:.8rem;gap:.35rem}.batch-form input,.batch-form select{border:1px solid var(--color-border-strong);border-radius:8px;font-family:var(--font-body);font-size:.9rem;padding:.55rem .65rem}.batch-form input:focus,.batch-form select:focus{border-color:var(--color-accent);outline:none}.batch-form-error{color:var(--color-danger);font-size:.85rem;margin:.75rem 0 0}.batch-form-actions{align-items:center;display:flex;gap:.75rem;margin-top:1.25rem}.batch-form-actions button{border-radius:8px;cursor:pointer;font-size:.9rem;padding:.6rem 1.1rem}.batch-form-actions button[type=submit]{background:var(--color-cta);border:none;color:var(--color-cta-text);font-weight:600}.batch-form-actions button[type=submit]:hover:not(:disabled){background:var(--color-cta-hover)}.batch-form-actions button:disabled{cursor:default;opacity:.6}.batch-form-cancel{background:none;border:1px solid var(--color-border-strong);color:var(--color-text-body)}.batch-table{background:var(--color-bg-card);border:1px solid var(--color-border);border-collapse:collapse;border-radius:12px;font-size:.85rem;overflow:hidden;width:100%}.batch-table td,.batch-table th{border-bottom:1px solid var(--color-border);padding:.65rem .9rem;text-align:left}.batch-table th{color:var(--color-text-muted);font-size:.75rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.batch-table tbody tr:nth-child(2n){background:var(--very-light-pink)}.batch-table tbody tr:hover{background:var(--color-row-hover)}.batch-table tbody tr:last-child td{border-bottom:none}.batch-table-actions{display:flex;gap:.75rem;white-space:nowrap}.batch-table-edit{color:var(--muted-pink)}.batch-table-delete,.batch-table-edit{background:none;border:none;cursor:pointer;font-size:.8rem;padding:0}.batch-table-delete,.vendor-error{color:var(--color-danger)}.vendor-error{font-size:.85rem;margin-bottom:1rem}.vendor-empty,.vendor-loading{color:var(--color-text-muted);font-size:.9rem}.vendor-add-button{background:var(--color-cta);border:none;border-radius:8px;color:var(--color-cta-text);cursor:pointer;font-size:.9rem;font-weight:600;margin-bottom:1.5rem;padding:.6rem 1.1rem}.vendor-add-button:hover{background:var(--color-cta-hover)}.vendor-form{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem 1.75rem}.vendor-form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.vendor-form-wide{grid-column:1/-1}.vendor-form label{color:var(--color-text-body);display:flex;flex-direction:column;font-size:.8rem;gap:.35rem}.vendor-form input,.vendor-form select{border:1px solid var(--color-border-strong);border-radius:8px;font-family:var(--font-body);font-size:.9rem;padding:.55rem .65rem}.vendor-form input:focus,.vendor-form select:focus{border-color:var(--color-accent);outline:none}.vendor-form-error{color:var(--color-danger);font-size:.85rem;margin:.75rem 0 0}.vendor-form-actions{align-items:center;display:flex;gap:.75rem;margin-top:1.25rem}.vendor-form-actions button{border-radius:8px;cursor:pointer;font-size:.9rem;padding:.6rem 1.1rem}.vendor-form-actions button[type=submit]{background:var(--color-cta);border:none;color:var(--color-cta-text);font-weight:600}.vendor-form-actions button[type=submit]:hover:not(:disabled){background:var(--color-cta-hover)}.vendor-form-actions button:disabled{cursor:default;opacity:.6}.vendor-form-cancel{background:none;border:1px solid var(--color-border-strong);color:var(--color-text-body)}.vendor-list{display:flex;flex-direction:column;gap:.75rem}.vendor-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.vendor-card-header{align-items:center;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.25rem}.vendor-card-header:hover{background:var(--very-light-pink)}.vendor-card-title{align-items:center;color:var(--color-text-heading);display:flex;font-family:var(--font-heading);font-size:1.05rem;gap:.6rem}.vendor-stars{color:var(--gold);font-family:var(--font-body);font-size:.85rem;letter-spacing:.05em}.vendor-card-supplies{color:var(--color-text-muted);font-size:.8rem;margin-top:.2rem}.vendor-card-stats{color:var(--color-text-body);display:flex;font-size:.85rem;gap:1.25rem;white-space:nowrap}.vendor-card-body{border-top:1px solid var(--color-border);padding:0 1.25rem 1.25rem}.vendor-contact-row{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1rem}.vendor-card-notes,.vendor-contact-row{color:var(--color-text-body);font-size:.85rem}.vendor-card-notes{margin:.75rem 0 0}.vendor-orders-heading{color:var(--color-text-heading);font-family:var(--font-heading);font-size:.9rem;margin:1.25rem 0 .6rem}.vendor-orders-empty,.vendor-orders-loading{color:var(--color-text-muted);font-size:.82rem}.vendor-orders-table{border-collapse:collapse;font-size:.85rem;width:100%}.vendor-orders-table td,.vendor-orders-table th{border-bottom:1px solid var(--color-border);padding:.5rem .6rem;text-align:left}.vendor-orders-table th{color:var(--color-text-muted);font-size:.72rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.vendor-card-actions{display:flex;gap:1rem;margin-top:1rem}.vendor-card-actions button{background:none;border:none;color:var(--muted-pink);cursor:pointer;font-size:.82rem;padding:0}.vendor-card-delete{color:var(--color-danger)!important}.po-error{color:var(--color-danger);font-size:.85rem;margin-bottom:1rem}.po-empty,.po-loading{color:var(--color-text-muted);font-size:.9rem}.po-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.po-add-button{background:var(--color-cta);border:none;border-radius:8px;color:var(--color-cta-text);cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.1rem}.po-add-button:hover{background:var(--color-cta-hover)}.po-filter-group{display:flex;gap:.4rem}.po-filter{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-body);cursor:pointer;font-size:.82rem;padding:.4rem .8rem}.po-filter.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text);font-weight:600}.vendor-autocomplete{position:relative}.vendor-autocomplete-list{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 16px #3a2a2f1a;left:0;list-style:none;margin:0;max-height:200px;overflow-y:auto;padding:.35rem;position:absolute;right:0;top:calc(100% + 4px);z-index:10}.vendor-autocomplete-list li button{background:none;border:none;border-radius:6px;color:var(--color-text-heading);cursor:pointer;display:block;font-size:.85rem;padding:.45rem .6rem;text-align:left;width:100%}.vendor-autocomplete-list li button:hover{background:var(--light-pink)}.po-form{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem 1.75rem}.po-form-grid{grid-gap:1rem 1.25rem;align-items:end;display:grid;gap:1rem 1.25rem;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr)}.po-form-wide{grid-column:1/-1}.po-form label{color:var(--color-text-body);display:flex;flex-direction:column;font-size:.8rem;gap:.35rem}.po-form input,.po-form select{border:1px solid var(--color-border-strong);border-radius:8px;font-family:var(--font-body);font-size:.9rem;padding:.55rem .65rem}.po-form input:focus,.po-form select:focus{border-color:var(--color-accent);outline:none}.po-form-subheading{color:var(--color-text-heading);font-family:var(--font-heading);font-size:1.05rem;margin:1.75rem 0 .75rem}.po-item-rows{display:flex;flex-direction:column;gap:.5rem}.po-item-row{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) 6rem 9rem 8rem 2rem}.po-item-row-header{color:var(--color-text-muted);font-size:.72rem;letter-spacing:.03em;text-transform:uppercase}.po-item-row input{border:1px solid var(--color-border-strong);border-radius:6px;box-sizing:border-box;font-family:var(--font-body);font-size:.85rem;padding:.5rem .6rem;width:100%}.po-item-line-total{color:var(--color-text-body);font-size:.85rem}.po-item-remove{align-items:center;background:none;border:1px solid #0000;border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:1.1rem;height:1.75rem;justify-content:center;line-height:1;padding:0;transition:color .15s,border-color .15s;transition:color var(--transition-fast,.15s),border-color var(--transition-fast,.15s);width:1.75rem}.po-item-remove:disabled{cursor:default;opacity:.4}.po-add-row{border-radius:8px;color:var(--muted-pink);margin-top:.75rem}.po-form-totals{align-items:flex-end;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.35rem;margin-top:1.25rem;padding-top:1rem}.po-form-error{color:var(--color-danger);font-size:.85rem;margin:.75rem 0 0}.po-form-actions{align-items:center;border-top:1px solid var(--color-border);display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem}.po-form-actions button{border-radius:8px;cursor:pointer;font-size:.9rem;padding:.6rem 1.1rem}.po-form-actions button[type=submit]{background:var(--color-cta);border:none;color:var(--color-cta-text);font-weight:600}.po-form-actions button[type=submit]:hover:not(:disabled){background:var(--color-cta-hover)}.po-form-actions button:disabled{cursor:default;opacity:.6}.po-form-cancel{background:none;border:1px solid var(--color-border-strong);color:var(--color-text-body)}.po-list{display:flex;flex-direction:column;gap:.75rem}.po-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.po-card-header{align-items:center;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.25rem}.po-card-header:hover{background:var(--very-light-pink)}.po-card-title{align-items:center;color:var(--color-text-heading);display:flex;font-family:var(--font-heading);font-size:1.05rem;gap:.6rem}.po-card-vendor{color:var(--color-text-muted);font-size:.8rem;margin-top:.2rem}.po-card-stats{font-feature-settings:"tnum";color:var(--color-text-body);display:flex;font-size:.85rem;font-variant-numeric:tabular-nums;gap:1.25rem;white-space:nowrap}.po-card-body{border-top:1px solid var(--color-border);padding:0 1.25rem 1.25rem}.po-card-notes{color:var(--color-text-body);font-size:.85rem;margin:1rem 0 0}.po-item-table{border-collapse:collapse;font-size:.85rem;margin-top:1rem;width:100%}.po-item-table td,.po-item-table th{border-bottom:1px solid var(--color-border);padding:.5rem .6rem;text-align:left}.po-item-table th{color:var(--color-text-muted);font-size:.72rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.po-item-table tfoot td{border-bottom:none;color:var(--color-text-heading);font-weight:600}.po-card-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.po-card-actions button{background:none;border:none;color:var(--muted-pink);cursor:pointer;font-size:.82rem;padding:0}.po-card-delete{color:var(--color-danger)!important}.tab-badge{background:var(--gradient-cta);border-radius:999px;color:var(--color-cta-text);font-size:.7rem;line-height:1.25rem;margin-left:.4rem;min-width:1.25rem;padding:0 .35rem;text-align:center}.toorder-add{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:minmax(0,1.8fr) minmax(0,.8fr) minmax(0,1fr) auto minmax(0,1.4fr) auto;margin-bottom:1rem}.toorder-add input,.toorder-add select{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-body);font-family:var(--font-body);font-size:.9rem;min-width:0;padding:.55rem .7rem}.toorder-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:.75rem}.toorder-tabs{display:flex;gap:.4rem}.toorder-selection{align-items:center;display:flex;gap:.5rem}.toorder-warning{color:var(--color-danger);font-size:.82rem;max-width:42ch}.toorder-list{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.toorder-item{align-items:flex-start;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;gap:.75rem;padding:.7rem .85rem}.toorder-item.overdue{border-left:3px solid var(--color-cta)}.toorder-item-main{display:flex;flex:1 1;flex-direction:column;gap:.2rem;min-width:0}.toorder-item-name{font-weight:500;overflow-wrap:anywhere}.toorder-item-meta{color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:.8rem;gap:.75rem}.toorder-item-notes{color:var(--color-text-muted);font-size:.82rem;overflow-wrap:anywhere}.toorder-item-actions{display:flex;flex-shrink:0;gap:.4rem}.toorder-item-actions button{background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body);font-size:.8rem;padding:.3rem .6rem}.toorder-item-actions button:hover{border-color:var(--color-text-muted);color:var(--color-text-body)}.toorder-item-actions button.danger:hover{border-color:var(--color-danger);color:var(--color-danger)}.vendor-card-identity{min-width:0}.vendor-figures{display:flex;flex-shrink:0;flex-wrap:wrap;gap:1.25rem;margin:0}.vendor-figures div{display:flex;flex-direction:column;gap:.1rem}.vendor-figures dt{color:var(--color-text-muted);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}.vendor-figures dd{align-items:baseline;display:flex;font-family:var(--font-body);font-size:.95rem;font-weight:500;gap:.4rem;margin:0}.vendor-open{color:var(--color-cta);font-size:.72rem;font-weight:400}.vendor-leadtime-note{color:var(--color-text-muted);font-size:.85rem;margin:0 0 .75rem}.received-prompt{max-width:26rem}.received-prompt-body{color:var(--color-text-muted);font-size:.9rem;margin:0 0 1rem}.received-prompt-field{color:var(--color-text-muted);display:flex;flex-direction:column;font-size:.82rem;gap:.35rem;margin-bottom:1rem}.received-prompt-field select{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-body);font-family:var(--font-body);font-size:.9rem;padding:.55rem .7rem}@media (max-width:760px){.toorder-add{grid-template-columns:1fr 1fr}.toorder-add .toorder-name{grid-column:1/-1}.vendor-figures{gap:.9rem}}.vendor-link{border-bottom:1px solid #0000;color:var(--color-cta);text-decoration:none}.vendor-link:hover{border-bottom-color:initial}.toorder-thumb{align-items:center;background:var(--surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;flex-shrink:0;height:44px;justify-content:center;overflow:hidden;text-decoration:none;width:44px}.toorder-thumb img{display:block;height:100%;object-fit:cover;width:100%}.toorder-thumb-fallback{font-size:1rem;opacity:.45}.toorder-thumb.resolving{background:var(--color-row-hover)}.toorder-item-link{color:var(--color-cta);max-width:32ch;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.toorder-item-link:hover{text-decoration:underline}.po-empty-bridge{align-items:center;display:flex;flex-direction:column;gap:.6rem;padding:2rem 1rem;text-align:center}.po-empty-bridge .po-empty-lead{color:var(--color-text-heading);font-family:var(--font-heading);font-size:1.05rem;margin:0}.po-empty-bridge p{color:var(--color-text-muted);margin:0;max-width:46ch}.po-empty-bridge button{margin-top:.4rem}.po-form-head{border-bottom:1px solid var(--color-border);margin-bottom:1.5rem;padding-bottom:1rem}.po-form-head h3{color:var(--color-text-heading);font-family:var(--font-heading);font-size:1.15rem;margin:0 0 .2rem}.po-form-head p{color:var(--color-text-muted);font-size:.85rem;margin:0}.po-field-label{align-items:baseline;display:flex;gap:.3rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.po-field-hint{color:var(--color-text-muted);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}.po-form label{min-width:0}.po-form input,.po-form select{box-sizing:border-box;width:100%}.po-col-num{text-align:right}.po-item-line-total,.po-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.po-item-remove:hover:not(:disabled){border-color:var(--color-danger);color:var(--color-danger)}.po-add-row{background:none;border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body);font-size:.85rem;margin-top:.85rem;padding:.5rem .9rem}.po-add-row:hover{border-color:var(--color-cta);color:var(--color-cta)}.po-total-row{align-items:baseline;color:var(--color-text-muted);display:flex;font-size:.9rem;gap:1.5rem;justify-content:flex-end;min-width:16rem}.po-total-row strong{font-feature-settings:"tnum";color:var(--color-text-heading);font-family:var(--font-body);font-size:1.05rem;font-variant-numeric:tabular-nums;min-width:8rem;text-align:right}.po-total-converted strong{color:var(--color-text-body);font-size:.95rem}@media (max-width:860px){.po-form-grid{grid-template-columns:1fr 1fr}.po-item-row{gap:.5rem;grid-template-columns:minmax(0,1fr) 4.5rem 7rem 7rem 2rem}}.po-item-adders{align-items:center;display:flex;gap:.75rem}.po-from-toorder{background:var(--surface-sunken);border:1px dashed var(--color-border-strong);border-radius:10px;border-radius:var(--radius-md,10px);margin-top:1.5rem;padding:1rem 1.1rem}.po-from-toorder h4{align-items:center;color:var(--color-text-heading);display:flex;font-family:var(--font-heading);font-size:.95rem;gap:.5rem;margin:0 0 .2rem}.po-from-toorder-count{background:var(--gradient-cta);border-radius:999px;color:var(--color-cta-text);font-family:var(--font-body);font-size:.7rem;line-height:1.25rem;min-width:1.25rem;padding:0 .35rem;text-align:center}.po-from-toorder-hint{color:var(--color-text-muted);font-size:.82rem;margin:0 0 .75rem}.po-from-toorder ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.po-from-toorder li button{align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-body);cursor:pointer;display:flex;font-family:var(--font-body);font-size:.85rem;gap:.6rem;padding:.45rem .7rem;transition:border-color .15s,color .15s}.po-from-toorder li button:hover{border-color:var(--color-cta);color:var(--color-cta)}.po-toorder-meta{color:var(--color-text-muted);display:flex;font-size:.75rem;gap:.5rem}.po-toorder-add{color:var(--color-cta);font-size:1rem;line-height:1}.todo-error{color:var(--color-danger);font-size:.85rem;margin-bottom:1rem}.todo-empty,.todo-loading{color:var(--color-text-muted);font-size:.9rem}.todo-form{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem 1.75rem}.todo-form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.todo-form-wide{grid-column:span 2}.todo-form label{color:var(--color-text-body);display:flex;flex-direction:column;font-size:.8rem;gap:.35rem}.todo-form input,.todo-form select{border:1px solid var(--color-border-strong);border-radius:8px;font-family:var(--font-body);font-size:.9rem;padding:.55rem .65rem}.todo-form input:focus,.todo-form select:focus{border-color:var(--color-accent);outline:none}.todo-form-error{color:var(--color-danger);font-size:.85rem;margin:.75rem 0 0}.todo-form-actions{align-items:center;display:flex;gap:.75rem;margin-top:1.25rem}.todo-form-actions button{border-radius:8px;cursor:pointer;font-size:.9rem;padding:.6rem 1.1rem}.todo-form-actions button[type=submit]{background:var(--color-cta);border:none;color:var(--color-cta-text);font-weight:600}.todo-form-actions button[type=submit]:hover:not(:disabled){background:var(--color-cta-hover)}.todo-form-actions button:disabled{cursor:default;opacity:.6}.todo-form-cancel{background:none;border:1px solid var(--color-border-strong);color:var(--color-text-body)}.todo-item-done{opacity:.65}.todo-item-delete{color:var(--color-danger)!important}.todo-item-body{border-top:1px solid var(--color-border);padding:0 1.1rem 1rem 2.9rem}.todo-item-notes{color:var(--color-text-body);font-size:.85rem;margin:1rem 0 0}.todo-comments{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem}.todo-comments-empty,.todo-comments-loading{color:var(--color-text-muted);font-size:.82rem}.todo-comment{background:var(--very-light-pink);border-radius:8px;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem .7rem}.todo-comment-author{color:var(--color-text-heading);font-weight:600;white-space:nowrap}.todo-comment-body{color:var(--color-text-body)}.todo-comment-form{display:flex;gap:.5rem;margin-top:.75rem}.todo-comment-form input{border:1px solid var(--color-border-strong);border-radius:8px;flex:1 1;font-family:var(--font-body);font-size:.85rem;padding:.5rem .65rem}.todo-comment-form input:focus{border-color:var(--color-accent);outline:none}.todo-comment-form button{background:var(--color-cta);border:none;border-radius:8px;color:var(--color-cta-text);cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem .9rem}.todo-comment-form button:disabled{cursor:default;opacity:.6}.todo-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.75rem}.todo-status-pills{display:flex;gap:.5rem}.todo-pill{align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-body);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:.88rem;gap:.5rem;padding:.45rem .9rem}.todo-pill.active{border-color:var(--color-cta);color:var(--color-cta)}.todo-pill-count{font-feature-settings:"tnum";background:var(--surface-sunken);border-radius:999px;font-size:.75rem;font-variant-numeric:tabular-nums;min-width:1.4rem;padding:0 .4rem}.todo-pill.active .todo-pill-count{background:var(--gradient-cta);color:var(--color-cta-text)}.todo-selects{display:flex;gap:.75rem}.todo-select{align-items:center;color:var(--color-text-muted);display:flex;font-size:.78rem;gap:.4rem}.todo-select select{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-body);font-family:var(--font-body);font-size:.85rem;padding:.4rem .55rem}.todo-section{margin-bottom:2rem}.todo-section-head{align-items:baseline;border-bottom:1px solid var(--color-border);display:flex;gap:1rem;justify-content:space-between;padding-bottom:.5rem}.todo-section-head h2{color:var(--color-text-muted);font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.09em;margin:0;text-transform:uppercase}.todo-section-overdue h2{color:var(--color-danger)}.todo-section-count{font-feature-settings:"tnum";color:var(--color-text-muted);font-size:.78rem;font-variant-numeric:tabular-nums}.todo-list{display:flex;flex-direction:column}.todo-item{border-bottom:1px solid var(--color-border)}.todo-item:last-child{border-bottom:none}.todo-item-row{align-items:flex-start;display:flex;gap:.85rem;padding:.85rem .5rem}.todo-item-row:hover{background:var(--color-row-hover)}.todo-check{accent-color:var(--color-cta);cursor:pointer;flex-shrink:0;height:1.05rem;margin-top:.15rem;width:1.05rem}.todo-item-main{background:none;border:none;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:var(--font-body);gap:.15rem;min-width:0;padding:0;text-align:left}.todo-item-title{align-items:center;color:var(--color-text-heading);display:flex;font-size:.95rem;gap:.5rem;overflow-wrap:anywhere}.todo-item-context{color:var(--color-text-muted);font-size:.8rem;overflow-wrap:anywhere}.todo-priority-dot{border-radius:50%;flex-shrink:0;height:.5rem;width:.5rem}.todo-priority-high{background:var(--color-danger)}.todo-priority-low{background:var(--color-border-strong)}.todo-item-meta{align-items:center;color:var(--color-text-muted);display:flex;flex-shrink:0;font-size:.82rem;gap:1.25rem}.todo-item-due{min-width:5.5rem;text-align:right}.todo-item-due.overdue{color:var(--color-danger);font-weight:500}.todo-item-assignee{min-width:5rem;text-align:right}.todo-item-actions{display:flex;flex-shrink:0;gap:.4rem;opacity:0;transition:opacity .15s}.todo-item-actions:focus-within,.todo-item-row:hover .todo-item-actions{opacity:1}.todo-item-actions button{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body);font-size:.78rem;padding:.25rem .55rem}.todo-item-actions button:hover{color:var(--color-text-body)}.todo-item-actions .todo-item-delete:hover{border-color:var(--color-danger);color:var(--color-danger)}.todo-item-done .todo-item-title{color:var(--color-text-muted);text-decoration:line-through}@media (max-width:720px){.todo-item-row{flex-wrap:wrap}.todo-item-meta{gap:1rem;justify-content:flex-start;padding-left:1.9rem;width:100%}.todo-item-assignee,.todo-item-due{min-width:0;text-align:left}.todo-item-actions{opacity:1}}.marketing-error{color:var(--color-danger);font-size:.85rem;margin-bottom:1rem}.marketing-empty,.marketing-loading{color:var(--color-text-muted);font-size:.9rem}.marketing-form{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem 1.75rem}.marketing-form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.marketing-form-wide{grid-column:1/-1}.marketing-form label{color:var(--color-text-body);display:flex;flex-direction:column;font-size:.8rem;gap:.35rem}.marketing-form input,.marketing-form select,.marketing-form textarea{border:1px solid var(--color-border-strong);border-radius:8px;font-family:var(--font-body);font-size:.9rem;padding:.55rem .65rem}.marketing-form textarea{resize:vertical}.marketing-form input:focus,.marketing-form select:focus,.marketing-form textarea:focus{border-color:var(--color-accent);outline:none}.marketing-form-error{color:var(--color-danger);font-size:.85rem;margin:.75rem 0 0}.marketing-form-actions{align-items:center;display:flex;gap:.75rem;margin-top:1.25rem}.marketing-form-actions button{border-radius:8px;cursor:pointer;font-size:.9rem;padding:.6rem 1.1rem}.marketing-form-actions button[type=submit]{background:var(--color-cta);border:none;color:var(--color-cta-text);font-weight:600}.marketing-form-actions button[type=submit]:hover:not(:disabled){background:var(--color-cta-hover)}.marketing-form-actions button:disabled{cursor:default;opacity:.6}.marketing-form-cancel{background:none;border:1px solid var(--color-border-strong);color:var(--color-text-body)}.asset-modal-backdrop{align-items:center;animation:asset-modal-fade var(--transition) both;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#3a2a2f73;display:flex;inset:0;justify-content:center;padding:2rem 1.5rem;position:fixed;z-index:100}.asset-modal{animation:asset-modal-rise var(--transition) both;background:var(--surface-raised);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);max-height:min(86vh,780px);overflow:hidden;position:relative;width:min(940px,100%)}.asset-modal-close{align-items:center;background:#ffffffe6;border:none;border-radius:50%;box-shadow:var(--shadow-sm);color:var(--color-text-heading);cursor:pointer;display:flex;font-size:1.2rem;height:30px;justify-content:center;line-height:1;position:absolute;right:.75rem;top:.75rem;width:30px;z-index:2}.asset-modal-close:hover{background:#fff;box-shadow:var(--shadow-md)}.asset-modal-media{background:linear-gradient(180deg,#fdf4f6,#f7e9ed);display:flex;flex-direction:column;gap:.75rem;min-width:0;overflow-y:auto;padding:1.25rem}.asset-modal-media>img{border-radius:var(--radius-md);flex:1 1;min-height:0;object-fit:contain;width:100%}.asset-modal-versions{display:flex;flex-shrink:0;gap:.5rem;overflow-x:auto;padding-bottom:.2rem}.asset-modal-version{flex-shrink:0;position:relative}.asset-modal-version img{border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);display:block;height:52px;object-fit:cover;width:52px}.asset-modal-version span{bottom:2px;color:#fff;font-size:.58rem;font-weight:600;position:absolute;right:3px;text-shadow:0 1px 2px #3a2a2fcc}.asset-modal-body{display:flex;flex-direction:column;gap:1.25rem;min-width:0;overflow-y:auto;padding:1.75rem 1.75rem 1.75rem 1.5rem}.asset-modal-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;padding-right:2.25rem}.asset-modal-version-label{color:var(--color-text-muted);font-size:.75rem;margin-left:auto}.asset-modal-caption{color:var(--color-text-body);font-size:.95rem;line-height:1.5;margin:0;overflow-wrap:anywhere}.asset-modal-actions{display:flex;flex-wrap:wrap;gap:.5rem}.asset-action{background:var(--surface-card);border:1px solid #f0b4d0a6;border-radius:var(--radius-pill);box-shadow:var(--shadow-xs);color:var(--color-text-body);cursor:pointer;font-size:.82rem;font-weight:500;padding:.45rem .9rem}.asset-action:hover{background:var(--very-light-pink);border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);color:var(--color-text-heading)}.asset-action-primary{background:linear-gradient(135deg,var(--sage) 0,#b6c8b0 100%);border-color:#0000;color:var(--espresso);font-weight:600}.asset-action-primary:hover{background:linear-gradient(135deg,#b0c4aa,#c2d2bc);border-color:#0000}.asset-action-danger{border-color:#b3261e47;color:var(--color-danger);margin-left:auto}.asset-action-danger:hover{background:#fbe4e4;border-color:#b3261e73;color:var(--color-danger)}.asset-modal-section{border-top:1px solid #f4a9b666;padding-top:1.1rem}.asset-modal-section h4{color:var(--color-text-heading);font-family:var(--font-heading);font-size:.92rem;margin:0 0 .7rem}.asset-modal-muted{color:var(--color-text-muted);font-size:.85rem;margin:0}.asset-modal-hint{color:var(--color-text-muted);font-size:.76rem;margin:.6rem 0 0}.asset-modal-comments{display:flex;flex-direction:column;gap:.45rem;max-height:220px;overflow-y:auto}.asset-comment{background:var(--very-light-pink);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.15rem;padding:.55rem .75rem}.asset-comment-author{color:var(--color-text-heading);font-size:.74rem;font-weight:600}.asset-comment-body{color:var(--color-text-body);font-size:.86rem;overflow-wrap:anywhere}.asset-comment-form{display:flex;gap:.5rem;margin-top:.7rem}.asset-comment-form input{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);flex:1 1;font-family:var(--font-body);font-size:.86rem;min-width:0;padding:.55rem .7rem}.asset-comment-form input:focus{border-color:var(--color-accent);outline:none}.asset-comment-form button{background:var(--gradient-cta);border:none;border-radius:var(--radius-pill);box-shadow:var(--shadow-cta);color:var(--color-cta-text);cursor:pointer;flex-shrink:0;font-size:.84rem;font-weight:600;padding:.55rem 1.1rem}.asset-comment-form button:disabled{box-shadow:none;cursor:default;opacity:.55}.asset-rework-form{display:flex;flex-direction:column;gap:.6rem}.asset-rework-form input[type=text]{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-sizing:border-box;font-family:var(--font-body);font-size:.86rem;min-width:0;padding:.55rem .7rem;width:100%}.asset-rework-form input[type=text]:focus{border-color:var(--color-accent);outline:none}.asset-file{align-items:center;cursor:pointer;display:flex;gap:.65rem;min-width:0}.asset-file input[type=file]{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.asset-file-button{background:var(--surface-card);border:1px solid #f0b4d0a6;border-radius:var(--radius-pill);box-shadow:var(--shadow-xs);color:var(--color-text-body);flex-shrink:0;font-size:.82rem;font-weight:500;padding:.45rem .9rem}.asset-file:hover .asset-file-button{background:var(--very-light-pink);border-color:var(--color-border-strong)}.asset-file-name{color:var(--color-text-muted);font-size:.8rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-rework-form button[type=submit]{align-self:flex-start;background:linear-gradient(135deg,var(--gold) 0,#d9bd88 100%);border:none;border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);color:var(--espresso);cursor:pointer;font-size:.84rem;font-weight:600;padding:.55rem 1.1rem}.asset-rework-form button[type=submit]:disabled{box-shadow:none;cursor:default;opacity:.55}@media (max-width:820px){.asset-modal{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.asset-modal-media>img{max-height:40vh}.asset-modal-body{padding:1.25rem}}.marketing-empty-inline{font-size:.86rem;margin:0 0 1rem}.upload-dropzone{align-items:center;background:var(--surface-sunken);border:1.5px dashed #f0b4d0d9;border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;gap:.3rem;justify-content:center;margin-top:1.25rem;padding:1.5rem 1rem;text-align:center;transition:border-color var(--transition-fast),background var(--transition-fast)}.upload-dropzone-empty{padding:3rem 1rem}.upload-dropzone.dragging,.upload-dropzone:hover{background:var(--very-light-pink);border-color:var(--color-accent)}.upload-dropzone input[type=file]{display:none}.upload-dropzone-icon{align-items:center;background:var(--color-bg-card);border-radius:50%;box-shadow:var(--shadow-xs);color:var(--muted-pink);display:flex;font-size:.95rem;height:30px;justify-content:center;width:30px}.upload-dropzone-text{color:var(--color-text-body);font-size:.86rem}.upload-dropzone-text strong{color:var(--muted-pink);font-weight:600}.upload-dropzone-hint{color:var(--color-text-muted);font-size:.74rem}.marketing-form-filename{color:var(--color-text-muted);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-title-sparkle{color:var(--color-accent);margin-left:.5rem;vertical-align:middle}.view-tabs{border-bottom:1px solid #f4a9b666;display:flex;gap:1.75rem;margin-bottom:1.5rem}.panel{background:var(--surface-card);border:1px solid #f4a9b659;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm),var(--sheen);min-width:0;padding:1.35rem}.marketing-planner{grid-gap:1.25rem;align-items:start;display:grid;gap:1.25rem;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}.library-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.9rem}.library-grid{grid-gap:.9rem;align-items:start;display:grid;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.asset-tile{background:var(--color-bg-card);border:1px solid #f4a9b659;border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}.asset-tile:hover{border-color:#f0b4d0b3;box-shadow:var(--shadow-md);transform:translateY(-2px)}.asset-tile-draggable{cursor:grab}.asset-tile-draggable:active{cursor:grabbing}.asset-tile-media{background:var(--very-light-pink);border:none;border-radius:0;box-shadow:none;cursor:pointer;display:block;overflow:hidden;padding:0;position:relative;width:100%}.asset-tile-media img{aspect-ratio:1;display:block;object-fit:cover;transition:transform var(--transition);width:100%}.asset-tile:hover .asset-tile-media img{transform:scale(1.04)}.asset-tile-status{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-pill);font-size:.66rem;font-weight:600;left:8px;padding:.16rem .55rem;position:absolute;top:8px}.asset-tile-status-review{background:#fde9eef0;color:#b4587a}.asset-tile-status-rework{background:#fde2e2f0;color:var(--color-danger)}.asset-tile-status-approved{background:#e4f2e3f0;color:#4a7a48}.asset-tile-corner{align-items:center;background:#ffffffe6;border-radius:50%;box-shadow:var(--shadow-xs);color:var(--color-text-muted);display:flex;height:22px;justify-content:center;position:absolute;right:6px;top:6px;width:22px}.asset-tile-body{display:flex;flex-direction:column;gap:.3rem;min-width:0;padding:.7rem .75rem .6rem}.asset-tile-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;background:none;border:none;color:var(--color-text-heading);cursor:pointer;display:-webkit-box;font-family:var(--font-body);font-size:.85rem;font-weight:600;overflow:hidden;padding:0;text-align:left;text-overflow:ellipsis}.asset-tile-channel,.asset-tile-title:hover{color:var(--muted-pink)}.asset-tile-channel{align-items:center;display:inline-flex;font-size:.73rem;gap:.35rem}.asset-tile-footer{align-items:center;border-top:1px solid #f4a9b652;color:var(--color-text-muted);display:flex;font-size:.71rem;gap:.5rem;justify-content:space-between;margin-top:.15rem;padding-top:.5rem}.asset-tile-comments{align-items:center;display:inline-flex;gap:.25rem}.marketing-empty-inline{color:var(--color-text-muted);font-size:.85rem;margin:0 0 .5rem}.planner-panel{display:flex;flex-direction:column;max-height:calc(100vh - 3rem);overflow-y:auto;position:sticky;top:1.5rem}.planner-head{align-items:center;display:flex;gap:.75rem;margin-bottom:.9rem}.planner-avatar{background:var(--very-light-pink);border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #f4a9b699;box-sizing:border-box;flex-shrink:0;height:46px;object-fit:contain;padding:6px;width:46px}.planner-identity{display:flex;flex-direction:column;gap:.1rem;min-width:0}.planner-handle{color:var(--color-text-heading);font-size:1rem;font-weight:600}.planner-meta{color:var(--color-text-muted);font-size:.76rem}.planner-dot{margin:0 .35rem}.planner-head-actions{align-items:center;display:flex;gap:.4rem;margin-left:auto}.planner-connected{align-items:center;background:#eef3ec;border:1px solid #5b7a554d;border-radius:var(--radius-pill);color:#4a7a48;display:inline-flex;font-size:.76rem;font-weight:600;gap:.4rem;padding:.35rem .7rem;white-space:nowrap}.planner-connected-dot{background:#5b9a56;border-radius:50%;height:7px;width:7px}.planner-connect{background:var(--very-light-pink);border:1px solid var(--color-accent);border-radius:var(--radius-pill);color:var(--muted-pink);cursor:pointer;font-size:.78rem;font-weight:600;margin-left:auto;padding:.45rem .85rem;white-space:nowrap}.planner-icon-button{align-items:center;background:var(--surface-card);border:1px solid #f0b4d080;border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;width:28px}.planner-icon-button:hover{background:var(--very-light-pink);color:var(--color-text-heading)}.planner-menu-wrap{position:relative}.planner-menu-backdrop{inset:0;position:fixed;z-index:20}.planner-menu{background:var(--color-bg-card);border:1px solid #f4a9b673;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;min-width:178px;padding:.3rem;position:absolute;right:0;top:calc(100% + .4rem);z-index:21}.planner-menu button{background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-body);cursor:pointer;font-size:.82rem;padding:.5rem .6rem;text-align:left;white-space:nowrap}.planner-menu button:hover{background:var(--very-light-pink)}.planner-menu-danger{color:var(--color-danger)!important}.planner-lede{color:var(--color-text-body);font-size:.82rem;margin:0 0 1rem}.planner-section-label{align-items:center;color:var(--color-text-heading);display:flex;font-size:.68rem;font-weight:700;gap:.4rem;letter-spacing:.09em;margin-bottom:.55rem;text-transform:uppercase}.planner-section-label span{color:var(--muted-pink);font-weight:600}.planner-live-label{color:var(--muted-pink);margin-top:1.25rem}.planner-live-grid,.planner-planned-grid{grid-gap:.5rem;align-items:start;display:grid;flex-shrink:0;gap:.5rem;grid-template-columns:repeat(3,1fr)}.planner-live-grid{border-radius:var(--radius-md);gap:3px;overflow:hidden}.planned-slot,.planned-tile{aspect-ratio:4/5;border-radius:var(--radius-md);overflow:hidden;position:relative}.planned-tile{box-shadow:0 0 0 2px var(--color-accent);cursor:grab}.planned-tile:active{cursor:grabbing}.planned-tile img{aspect-ratio:4/5;display:block;height:auto;object-fit:cover;width:100%}.planned-tile-draft img{filter:saturate(.6) brightness(.95)}.planned-tile-draft{box-shadow:0 0 0 2px var(--gold)}.planned-tile-over{outline:2px dashed var(--muted-pink);outline-offset:2px}.planned-order{align-items:center;background:var(--color-accent);box-sizing:border-box;display:flex;font-size:.66rem;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 5px;top:6px}.planned-draft-tag,.planned-order{border-radius:var(--radius-pill);color:#fff;left:6px;position:absolute}.planned-draft-tag{background:#3a2a2fcc;bottom:6px;font-size:.58rem;font-weight:600;padding:.1rem .4rem}.planned-remove{align-items:center;background:#3a2a2fb3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.8rem;height:18px;justify-content:center;line-height:1;opacity:0;padding:0;position:absolute;right:6px;top:6px;transition:opacity var(--transition-fast);width:18px}.planned-tile:hover .planned-remove{opacity:1}.planned-remove:hover{background:var(--color-danger)}.planned-slot{align-items:center;background:var(--very-light-pink);border:1.5px dashed #f0b4d0e6;color:var(--color-accent);display:flex;justify-content:center}.planner-live-tile{aspect-ratio:4/5;background:var(--very-light-pink);display:block;overflow:hidden;position:relative}.planner-live-tile img{aspect-ratio:4/5;display:block;height:auto;object-fit:cover;transition:transform var(--transition);width:100%}.planner-live-tile:hover img{transform:scale(1.04)}.planner-live-badge{color:#fff;filter:drop-shadow(0 1px 2px rgba(58,42,47,.6));font-size:.78rem;position:absolute;right:7px;top:6px}.planner-empty-note{color:var(--color-text-muted);font-size:.82rem;margin:.9rem 0 0}.planner-tip{align-items:center;background:var(--very-light-pink);border:1px solid #f4a9b666;border-radius:var(--radius-lg);display:flex;gap:.7rem;margin-top:1.25rem;padding:.75rem .9rem}.planner-tip p{color:var(--color-text-body);flex:1 1;font-size:.76rem;line-height:1.45;margin:0;min-width:0}.planner-tip-icon{border-radius:50%;box-shadow:var(--shadow-xs);display:flex;height:26px;justify-content:center;width:26px}.planner-tip-button,.planner-tip-icon{align-items:center;background:var(--color-bg-card);color:var(--muted-pink);flex-shrink:0}.planner-tip-button{border:1px solid #f0b4d0b3;border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;gap:.4rem;padding:.45rem .8rem;white-space:nowrap}.planner-tip-button:hover{background:var(--very-light-pink);border-color:var(--color-accent)}@media (max-width:1100px){.marketing-planner{grid-template-columns:minmax(0,1fr)}.planner-panel{max-height:none;position:static}}.calendar-bar{flex-wrap:wrap;gap:.75rem;margin-bottom:.9rem}.calendar-bar,.calendar-nav{align-items:center;display:flex}.calendar-nav{background:var(--surface-card);border:1px solid #f0b4d080;border-radius:var(--radius-pill);gap:.35rem;padding:.25rem .35rem}.calendar-nav h3{color:var(--color-text-heading);font-family:var(--font-heading);font-size:1.02rem;letter-spacing:-.01em;margin:0 .5rem;min-width:150px;text-align:center}.calendar-nav-button{align-items:center;background:none;border:none;border-radius:50%;color:var(--color-text-body);cursor:pointer;display:flex;font-size:1.05rem;height:26px;justify-content:center;line-height:1;width:26px}.calendar-nav-button:hover,.calendar-today-button{background:var(--very-light-pink);color:var(--muted-pink)}.calendar-today-button{border:1px solid var(--color-accent);border-radius:var(--radius-pill);cursor:pointer;font-size:.82rem;font-weight:600;margin-left:auto;padding:.45rem 1rem}.calendar-today-button:hover{background:#fde9ee}.calendar-summary{background:var(--surface-sunken);border:1px solid #f4a9b666;border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;font-size:.8rem;gap:1rem;margin-bottom:1.1rem;padding:.65rem 1rem}.calendar-stat,.calendar-summary{align-items:center;color:var(--color-text-body)}.calendar-stat{display:inline-flex;gap:.4rem}.calendar-stat svg{color:var(--muted-pink)}.calendar-stat strong{color:var(--color-text-heading);font-weight:700}.calendar-stat-divider{background:#f4a9b699;height:16px;width:1px}.calendar-weekdays{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr);margin-bottom:5px}.calendar-weekday{color:var(--color-text-muted);font-size:.66rem;font-weight:700;letter-spacing:.1em;padding:.3rem 0;text-align:center;text-transform:uppercase}.calendar-grid{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr)}.calendar-cell{background:var(--color-bg-card);border:1px solid #f4a9b64d;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.25rem;min-height:118px;padding:.4rem;position:relative;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.calendar-cell:hover{border-color:#f0b4d0cc;box-shadow:var(--shadow-sm)}.calendar-cell-outside{background:#0000;border-color:#f4a9b626;opacity:.45}.calendar-cell-today{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.calendar-cell-head{align-items:center;display:flex;gap:.35rem}.calendar-daynum{color:var(--color-text-heading);font-size:.78rem;font-weight:600}.calendar-daynum-today{align-items:center;background:var(--color-accent);border-radius:50%;color:#fff;display:flex;height:21px;justify-content:center;width:21px}.calendar-today-tag{color:var(--muted-pink);font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.calendar-add{align-items:center;background:var(--very-light-pink);border:none;border-radius:50%;color:var(--muted-pink);cursor:pointer;display:flex;font-size:.85rem;height:19px;justify-content:center;line-height:1;margin-left:auto;opacity:0;padding:0;transition:opacity var(--transition-fast);width:19px}.calendar-add:focus-visible,.calendar-cell:hover .calendar-add{opacity:1}.calendar-add:hover{background:var(--color-accent);color:#fff}.calendar-holiday{color:var(--muted-pink);font-size:.67rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-events{display:flex;flex-direction:column;gap:.25rem}.calendar-chip{align-items:flex-start;border-radius:var(--radius-sm);color:var(--espresso);display:flex;font-size:.7rem;gap:.3rem;line-height:1.3;padding:.28rem 1.1rem .28rem .45rem;position:relative}.calendar-chip-body{overflow-wrap:anywhere}.calendar-chip-yellow{background:#fdf3c9;box-shadow:inset 2px 0 0 #e0be4d}.calendar-chip-pink{background:#fbe3ee;box-shadow:inset 2px 0 0 var(--medium-pink)}.calendar-chip-sage{background:#e7f0e2;box-shadow:inset 2px 0 0 var(--sage)}.calendar-chip-delete{background:none;border:none;color:var(--espresso);cursor:pointer;font-size:.8rem;line-height:1;opacity:0;position:absolute;right:2px;top:1px;transition:opacity var(--transition-fast)}.calendar-chip:hover .calendar-chip-delete{opacity:.65}.calendar-chip-delete:hover{opacity:1!important}.calendar-note-form{display:flex;flex-direction:column;gap:.3rem;margin-top:.15rem}.calendar-note-form textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);box-sizing:border-box;font-family:var(--font-body);font-size:.72rem;padding:.3rem;resize:vertical;width:100%}.calendar-note-form textarea:focus{border-color:var(--color-accent);outline:none}.calendar-note-form-row{align-items:center;display:flex;gap:.3rem}.calendar-swatch{border:2px solid #0000;border-radius:50%;cursor:pointer;height:15px;padding:0;width:15px}.calendar-swatch-yellow{background:#fdf3c9}.calendar-swatch-pink{background:var(--medium-pink)}.calendar-swatch-sage{background:var(--sage)}.calendar-swatch.active{border-color:var(--color-text-heading)}.calendar-note-form-actions{display:flex;gap:.4rem;margin-left:auto}.calendar-note-form-actions button{background:none;border:none;color:var(--muted-pink);cursor:pointer;font-size:.7rem;padding:0}.calendar-note-form-actions button:last-child{font-weight:700}.calendar-note-form-actions button:disabled{cursor:default;opacity:.5}.calendar-tip{align-items:center;background:var(--very-light-pink);border:1px solid #f4a9b666;border-radius:var(--radius-lg);display:flex;gap:.65rem;margin-top:1.1rem;padding:.7rem .9rem}.calendar-tip p{color:var(--color-text-body);font-size:.76rem;margin:0}.calendar-tip-icon{align-items:center;background:var(--color-bg-card);border-radius:50%;box-shadow:var(--shadow-xs);color:var(--muted-pink);display:flex;flex-shrink:0;height:26px;justify-content:center;width:26px}@media (max-width:900px){.calendar-cell{min-height:92px}}.ig-banner{align-items:flex-start;border-radius:var(--radius-sm);display:flex;font-size:.88rem;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1rem}.ig-banner.error{background:#fdeceb;border:1px solid #f0c4c0;color:#8c2f27}.ig-banner.ok{background:#e8f3ec;border:1px solid #c3e0ce;color:#2f7d55}.ig-banner button{background:none;border:none;color:inherit;cursor:pointer;flex-shrink:0;font-size:1.1rem;line-height:1;opacity:.7}.ig-banner button:hover{opacity:1}
/*# sourceMappingURL=main.b58b0fec.css.map*/