:root{color-scheme:light;--ink: #1b1b1b;--ink-soft: #6a5f66;--paper: #f6f1ec;--paper-deep: #ece4dc;--surface: #fffcfa;--line: #e4d8d2;--mauve: #826879;--mauve-deep: #6b5464;--mauve-soft: #e8dce3;--mauve-mist: #f4ecef;--rose: #987b8d;--danger: #8b3a3a;--cat-bridal: #6b5464;--cat-heirloom: #7a6a4e;--cat-formal-wear: #3d4a5c;--cat-prom: #8a4a38;--cat-suit: #4f5552;--cat-everyday-tailoring: #556155;--cat-custom-clothing: #7a564c;--shadow: 0 1px 2px rgba(42, 36, 32, .05);--radius: 6px;--font-display: "Lora", Georgia, serif;--font-script: "Yellowtail", "Palatino Linotype", cursive;--font-body: "Source Sans 3", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}html,body{overflow:hidden}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--paper)}.login-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:1rem;background:radial-gradient(ellipse at top,rgba(152,123,141,.08),transparent 52%),var(--paper)}.login-card{width:min(380px,100%);display:grid;justify-items:center;gap:.7rem;padding:1.7rem 1.55rem 1.6rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 10px 28px #2a24200f;text-align:center}.login-logo{width:5.25rem;height:5.25rem;object-fit:cover;border-radius:4px}.login-card h1,.login-card p{margin:0}.login-card h1{font-family:var(--font-display);font-weight:600;font-size:1.85rem;letter-spacing:.01em;line-height:1.1}.login-script{margin:0;font-family:var(--font-script);font-size:1.55rem;color:var(--mauve-deep);line-height:1}.login-place{color:var(--ink-soft);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.login-help,.login-message p{color:var(--ink-soft);font-size:.9rem;line-height:1.45}.login-message{width:100%;display:grid;gap:.35rem;padding:.8rem .85rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--mauve-mist);text-align:center}.login-link{color:var(--mauve-deep);font-size:.82rem}.login-card label{width:100%;display:grid;gap:.3rem;font-size:.82rem;font-weight:600;color:var(--ink-soft);text-align:center}.login-card input{width:100%;min-height:2.7rem;border:1px solid var(--line);border-radius:var(--radius);padding:.55rem .7rem;background:#fff;text-align:center}.login-card .primary-btn{width:100%}button,input,select,textarea{font:inherit}.app-shell{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .85rem;border-bottom:1px solid var(--line);background:var(--surface);flex:0 0 auto;position:relative;z-index:5;box-shadow:var(--shadow)}.topbar:after{content:none}.brand{display:flex;align-items:center;gap:.9rem}.brand-logo{width:2.85rem;height:2.85rem;border-radius:4px;object-fit:cover;flex-shrink:0;box-shadow:none;image-rendering:auto}.brand-copy{display:flex;flex-direction:column;gap:.02rem}.brand-script{margin:0;font-family:var(--font-body);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);line-height:1.2}.topbar h1,.drawer-header h2{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.32rem;letter-spacing:0;line-height:1.1}.topbar-actions{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}.board-updated{align-self:center;font-size:.72rem;color:var(--ink-soft);white-space:nowrap}.primary-btn,.ghost-btn{border-radius:var(--radius);padding:.62rem 1rem;border:1px solid transparent;cursor:pointer;text-transform:none;letter-spacing:0;font-size:.8rem;font-weight:600;transition:background-color .12s ease,border-color .12s ease,color .12s ease}a.primary-btn,a.ghost-btn{display:inline-block;text-decoration:none;box-sizing:border-box;line-height:1.15}.primary-btn{background:var(--mauve);color:#fffafb;border-color:var(--mauve-deep)}.primary-btn:hover{background:var(--mauve-deep)}.ghost-btn{background:#fff;color:var(--ink);border-color:var(--line)}.ghost-btn:hover{background:var(--mauve-mist)}.ghost-btn.is-active{background:var(--mauve-mist);border-color:var(--mauve);color:var(--mauve-deep)}.primary-btn:disabled,.ghost-btn:disabled{opacity:.55;cursor:not-allowed}.banner{margin:.9rem 1.75rem 0;padding:.85rem 1rem;border-radius:var(--radius);border:1px solid var(--line)}.banner-action{align-self:stretch;box-sizing:border-box;font:inherit;text-align:left;cursor:pointer}.board-tools{min-height:3.9rem;padding:.75rem 1.5rem .55rem;display:flex;align-items:flex-end;gap:.7rem;flex:0 0 auto}.search-field{display:grid;gap:.25rem;width:min(24rem,100%);color:var(--ink-soft);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:none}.search-field input,.search-field select{box-sizing:border-box;width:100%;height:2.5rem;min-height:2.5rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);padding:0 .75rem;text-transform:none;letter-spacing:normal;box-shadow:none;font:inherit;font-size:.92rem;font-weight:400}.search-field input[type=search]{-moz-appearance:none;appearance:none;-webkit-appearance:none}.search-field input[type=search]::-webkit-search-decoration,.search-field input[type=search]::-webkit-search-cancel-button{-moz-appearance:none;appearance:none;-webkit-appearance:none}.search-field select{padding-right:1.85rem;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%236b5464' d='M1 1.5 L6 6.5 L11 1.5'/></svg>");background-repeat:no-repeat;background-position:right .65rem center;background-size:.7rem}.search-field:has(select){width:min(16rem,100%)}.clear-search,.collapse-btn{border:0;background:transparent;color:var(--mauve-deep);cursor:pointer}.clear-search{min-height:2.45rem;padding:.45rem .6rem;font-size:.78rem;font-weight:600}.fixture-notice{margin:0 0 .65rem auto;color:var(--ink-soft);font-size:.75rem}.fixture-move-test{border:1px dashed var(--line);background:#fff;color:var(--ink-soft);min-height:2.45rem;padding:.45rem .65rem;cursor:pointer;font-size:.72rem;border-radius:var(--radius)}.banner-error{background:#f8ecec;border-color:#e3c0c0;color:var(--danger)}.banner-ok{background:var(--mauve-mist);border-color:var(--mauve);color:var(--mauve-deep)}.state-panel{margin:1.5rem;padding:1.25rem 1.4rem;border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink-soft)}.state-panel.inline{margin:0 0 1rem}.board-wrap{padding:.55rem 1.25rem 1rem;overflow-x:auto;overflow-y:hidden;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.board-wrap>.state-panel.inline{flex:0 0 auto;padding:.65rem .9rem;margin-bottom:.5rem}.board{display:flex;gap:.9rem;min-height:0;height:100%;flex:1 1 auto;width:max-content}.column{display:flex;flex-direction:column;height:100%;min-height:0;flex:0 0 236px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.column.is-collapsed{flex-basis:52px}.column-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .7rem .6rem;border-bottom:1px solid var(--line);background:#f3ebe6;flex:0 0 auto;position:sticky;top:0;z-index:2;border-radius:var(--radius) var(--radius) 0 0}.column-header h2{margin:0;font-size:.74rem;font-weight:650;letter-spacing:.02em;text-transform:none;color:var(--mauve-deep)}.count{min-width:1.5rem;height:1.5rem;padding:0 .4rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--mauve-deep);border:1px solid var(--line);font-size:.72rem;font-weight:600}.collapse-btn{width:1.7rem;height:1.7rem;border:1px solid transparent;border-radius:var(--radius);font-size:1.15rem;line-height:1;flex:0 0 auto}.collapse-btn:hover{border-color:var(--line);background:#fff}.column.is-collapsed .column-header{height:100%;padding:.65rem .45rem;flex-direction:column;justify-content:flex-start;border-radius:var(--radius)}.column.is-collapsed .column-header h2{writing-mode:vertical-rl;transform:rotate(180deg);margin-top:.3rem}.column.is-collapsed .count{order:2;width:auto;height:auto;min-width:0;padding:.28rem .2rem;border-radius:3px;writing-mode:vertical-rl}.column.is-collapsed .collapse-btn{order:-1}.column-body{display:flex;flex-direction:column;gap:.48rem;padding:.48rem .6rem .7rem;min-height:0;flex:1;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain}.month-group{display:grid;gap:.45rem}.month-divider{margin:0 -.05rem;padding:.48rem .05rem .25rem;position:sticky;top:0;z-index:1;background:var(--surface);color:var(--ink-soft);font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.month-group:first-child .month-divider{padding-top:0}.month-cards{display:grid;gap:.48rem}.bride-card{--card-accent: var(--line);background:#fff;border:1px solid var(--line);border-left:3px solid var(--card-accent);border-radius:var(--radius);padding:.68rem .72rem;cursor:grab;transition:border-color .12s ease,background-color .12s ease}.bride-card.cat-bridal{--card-accent: var(--cat-bridal)}.bride-card.cat-heirloom{--card-accent: var(--cat-heirloom)}.bride-card.cat-formal-wear{--card-accent: var(--cat-formal-wear)}.bride-card.cat-prom{--card-accent: var(--cat-prom)}.bride-card.cat-suit{--card-accent: var(--cat-suit)}.bride-card.cat-everyday-tailoring{--card-accent: var(--cat-everyday-tailoring)}.bride-card.cat-custom-clothing{--card-accent: var(--cat-custom-clothing)}.bride-card.is-urgent{background:#fffcfa}.bride-card.is-today{background:var(--mauve-mist)}.bride-card:hover,.bride-card.is-selected{border-top-color:var(--mauve);border-right-color:var(--mauve);border-bottom-color:var(--mauve);background:#f7f1f3}.bride-card.is-selected{outline:2px solid rgba(130,104,121,.38)}.bride-card:active{cursor:grabbing}.card-categories,.card-status{margin:.15rem 0 0;font-size:.72rem;color:var(--ink-soft)}.card-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.2rem;margin:.28rem 0 0}.card-status-tags{justify-content:flex-start}.card-status-tags .tag-return{margin-left:auto}.tag{display:inline-flex;align-items:center;flex:0 0 auto;width:max-content;max-width:100%;border:1px solid var(--mauve-soft);background:var(--mauve-mist);color:var(--mauve-deep);padding:.02rem .28rem;font-size:.64rem;line-height:1.15;border-radius:2px;white-space:nowrap}.tag.is-empty{border-style:dashed;color:var(--ink-soft);background:transparent}.tag-bridal{background:#f4ecef;border-color:#d4c0cb;color:var(--cat-bridal)}.tag-heirloom{background:#f4eee4;border-color:#ddd0b8;color:var(--cat-heirloom)}.tag-formal-wear{background:#e4e8ee;border-color:#b7c0cc;color:var(--cat-formal-wear)}.tag-prom{background:#f8e8e0;border-color:#e3b9a6;color:var(--cat-prom)}.tag-suit{background:#ececea;border-color:#c9ccc8;color:var(--cat-suit)}.tag-everyday-tailoring{background:#eef1ea;border-color:#c9d0c4;color:var(--cat-everyday-tailoring)}.tag-custom-clothing{background:#f3eae6;border-color:#ddc8c0;color:var(--cat-custom-clothing)}.tag.tag-delivered{background:#d4e5ce;border-color:#6d8a66;color:#243d22;font-weight:600}.tag.tag-canceled,.tag.tag-no_show,.tag.tag-lost{background:#f3ece8;border-color:#c9b4aa;color:#6a4a40}.tag.tag-complete{background:#e7efe4;border-color:#9bb396;color:#2d4328}.tag.tag-return{background:transparent;border-color:#826879;color:#5a4454}.checkbox-set{border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .7rem;display:grid;gap:.35rem}.checkbox-set legend{padding:0 .3rem;font-size:.78rem}.history-block{display:grid;gap:.4rem}.history-block h3,.admin-group h2,.admin-group h3{margin:0;font-family:var(--font-display);font-size:1.02rem;font-weight:600}.admin-group h3{margin-top:1.15rem}.admin-group>h3:first-of-type{margin-top:.55rem}.history-empty,.admin-help{margin:0;color:var(--ink-soft);font-size:.82rem}.history-list{margin:0;padding-left:1.1rem;display:grid;gap:.45rem}.history-list li{display:grid;gap:.1rem;font-size:.8rem}.history-when,.history-actor{color:var(--ink-soft);font-size:.72rem}.admin-wrap{overflow:auto;padding:.7rem 1rem 1.25rem;display:grid;gap:.75rem;align-content:start}.admin-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.admin-card-actions{display:flex;align-items:center;gap:.75rem;flex:0 0 auto}.admin-card-head h2{margin:0 0 .2rem;font-family:var(--font-display);font-size:1.02rem;font-weight:600}.admin-setup-grid{display:grid;grid-template-columns:minmax(13.5rem,1.2fr) repeat(3,minmax(10.5rem,1fr));gap:.85rem 1.1rem;align-items:start}.admin-setup-col{display:grid;gap:.4rem;align-content:start;min-width:0}.admin-setup-col h3{margin:0;font-family:var(--font-display);font-size:.92rem;font-weight:600}.admin-setup-list{display:grid;gap:.35rem}.admin-setup-list>input{width:100%;min-height:2.35rem;border:1px solid var(--line);border-radius:var(--radius);padding:.45rem .65rem;background:#fff;color:var(--ink)}.admin-metrics,.admin-grid-2,.admin-texts{display:grid;gap:.75rem}.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.admin-insight-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:stretch}.admin-metrics>*,.admin-insight-row>*{min-height:100%;height:100%}.admin-insight-panel{display:flex;flex-direction:column;gap:.55rem;min-width:0}.admin-insight-panel .source-chart,.admin-insight-panel .dwell-list{flex:1}.admin-insight-panel h3{margin:0;font-family:var(--font-display);font-size:1.02rem;font-weight:600}.admin-texts{grid-template-columns:1fr 1fr;gap:.75rem 1.1rem}.admin-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem .95rem;box-shadow:var(--shadow)}.admin-metrics .snapshot-list{max-height:7.5rem;overflow:auto}.admin-text-field{display:grid;gap:.35rem}.admin-text-field.is-wide{grid-column:1 / -1}.admin-days-input{width:6.5rem;min-height:2.35rem;border:1px solid var(--line);border-radius:var(--radius);padding:.45rem .65rem;background:#fff;color:var(--ink)}.admin-count{color:var(--ink-soft);font-weight:400}.cycle-value{margin:.1rem 0 0;font-family:var(--font-display);font-size:1.55rem;font-weight:600;line-height:1.1;color:var(--mauve-deep)}.snapshot-list{margin:0;padding:0;list-style:none;display:grid;gap:.45rem}.snapshot-list li{display:grid;gap:.1rem;font-size:.82rem}.snapshot-list span{color:var(--ink-soft);font-size:.74rem}.dwell-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.4rem .85rem}.dwell-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label value" "meter value";gap:.15rem .55rem;align-items:center;padding:.4rem .5rem;background:var(--paper);border-radius:4px;font-size:.78rem}.dwell-label{grid-area:label;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dwell-meter{grid-area:meter;display:block;height:.28rem;background:var(--paper-deep);border-radius:999px;overflow:hidden}.dwell-meter-fill{display:block;height:100%;background:var(--mauve);border-radius:999px}.dwell-list strong{grid-area:value;font-variant-numeric:tabular-nums;color:var(--mauve-deep)}.source-chart{display:flex;align-items:center;justify-content:center;gap:1.25rem;min-height:0}.source-donut{width:148px;height:148px;flex:0 0 auto}.source-legend{margin:0;padding:0;list-style:none;display:grid;gap:.4rem}.source-legend li{display:grid;grid-template-columns:.65rem auto auto;gap:.5rem .65rem;align-items:center;font-size:.82rem}.source-legend strong{font-variant-numeric:tabular-nums;font-weight:600;color:var(--mauve-deep);white-space:nowrap}.source-swatch{width:.65rem;height:.65rem;border:1px solid var(--line);border-radius:2px}.card-source{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1100px){.admin-metrics,.admin-grid-2,.admin-texts,.admin-insight-row,.admin-setup-grid,.dwell-list{grid-template-columns:1fr}}.admin-group{display:grid;gap:.4rem}.admin-group label{display:grid;gap:.3rem;font-size:.82rem;font-weight:600;color:var(--ink-soft)}.admin-group textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .8rem;background:#fff;color:var(--ink);resize:vertical;min-height:8.5rem}.admin-stage-row{display:grid;grid-template-columns:auto 1fr;gap:.4rem;align-items:center}.admin-stage-row input{width:100%;min-height:2.35rem;border:1px solid var(--line);border-radius:var(--radius);padding:.45rem .65rem;background:#fff}.admin-stage-row.is-dragging{opacity:.45}.admin-stage-row.is-drop-target{outline:1px solid var(--mauve)}.drag-handle{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:2.35rem;border:1px solid var(--line);background:#fff;color:var(--ink-soft);cursor:grab;-webkit-user-select:none;user-select:none;letter-spacing:-.12em;font-size:.95rem;line-height:1;border-radius:var(--radius)}.drag-handle:hover,.drag-handle:focus-visible{color:var(--ink);background:var(--mauve-mist)}.drag-handle:active,.admin-stage-row.is-dragging .drag-handle{cursor:grabbing}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.card-top h3{flex:1;min-width:0}.card-top .card-tags{margin:0;flex:0 0 auto;flex-direction:column;align-items:flex-end;max-width:46%}.bride-card h3{margin:0;font-family:var(--font-body);font-size:.92rem;font-weight:600;line-height:1.15;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem}.card-flag{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mauve)}.meta.card-fitting{color:var(--mauve-deep);font-weight:500}.meta{margin:.25rem 0 0;color:var(--ink-soft);font-size:.76rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.bride-card:focus-visible{outline:3px solid rgba(130,104,121,.48);outline-offset:2px}.bride-card{scroll-margin-block:3rem 1rem}.meta.subtle{color:#8a786e}.chip{display:inline-flex;align-items:center;border-radius:3px;padding:.15rem .45rem;font-size:.68rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.chip-muted{background:var(--mauve-mist);color:var(--mauve-deep);border:1px solid var(--mauve-soft);text-transform:uppercase;letter-spacing:.06em}.eyebrow{margin:0 0 .2rem;font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a242047;display:flex;justify-content:flex-end;z-index:20;animation:fade-in .14s ease}.drawer{width:min(420px,100%);height:100%;background:var(--surface);border-left:1px solid var(--line);box-shadow:-8px 0 24px #2a242014;display:flex;flex-direction:column;animation:slide-in .18s ease}.drawer-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.35rem 1.35rem 1rem;border-bottom:1px solid var(--line)}.drawer-form{display:flex;flex-direction:column;gap:.85rem;padding:1.15rem 1.35rem 1.5rem;overflow:auto}.drawer-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.86rem;font-weight:500;color:var(--ink-soft)}.drawer-form input,.drawer-form select,.drawer-form textarea{border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .8rem;background:#fff;color:var(--ink)}.drawer-form select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%236b5464' d='M1 1.5 L6 6.5 L11 1.5'/></svg>");background-repeat:no-repeat;background-position:right .65rem center;background-size:.7rem;padding-right:1.85rem}.locked-field.is-locked{opacity:.4;filter:grayscale(1);pointer-events:none}.locked-field.is-locked select{background-color:#efe8e2;color:#777;cursor:not-allowed}.drawer-form textarea{resize:vertical;min-height:7rem}.checkbox-row{flex-direction:row!important;align-items:center;gap:.55rem!important}.field-hint{margin:-.35rem 0 0;color:var(--ink-soft);font-size:.78rem}.drawer-actions{display:flex;justify-content:flex-end;gap:.65rem;padding-top:.35rem}.form-error{margin:0;color:var(--danger);font-size:.88rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{transform:translate(18px);opacity:.7}to{transform:translate(0);opacity:1}}@media (prefers-reduced-motion: reduce){.drawer-backdrop,.drawer{animation:none}.primary-btn,.ghost-btn,.bride-card{transition:none}}@media (max-width: 720px){.topbar{padding:.6rem .8rem .65rem;gap:.55rem}.brand{align-items:center}.brand-logo{width:3.35rem;height:3.35rem}.brand-script{display:none}.topbar h1{font-size:1.45rem}.topbar-actions{flex-wrap:nowrap}.primary-btn,.ghost-btn{padding:.58rem .7rem;font-size:.7rem}.board-tools{padding:.6rem .8rem .4rem;min-height:3.55rem}.fixture-notice{display:none}.board-wrap{padding:.4rem .8rem .7rem}.column{flex-basis:min(78vw,280px)}}
