/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}}.modal{border:0;width:100%;max-width:none;height:100%;margin:0}:root{--ink:#252622;--muted:#77766f;--paper:#fffefb;--line:#e8e4db;--gold:#9a7241;--green:#5d776d;--red:#ad584d;--navy:#33474f;--orange:#b77a3c}*{box-sizing:border-box}html{background:#f2f0eb}body{color:var(--ink);background:radial-gradient(circle at 75% 0,#e9e5dc 0,#0000 30%),#f2f0eb;margin:0;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}.app{min-height:100vh}.shell{width:min(1240px,100% - 32px);margin:14px auto 55px}.topbar{align-items:center;gap:18px;height:65px;display:flex}.brand{text-align:left;background:0 0;border:0;align-items:center;gap:11px;margin-right:auto;padding:0;display:flex}.brand-mark{background:var(--gold);color:#fff;border-radius:12px 12px 12px 3px;place-items:center;width:39px;height:39px;font:italic 24px Georgia;display:grid}.brand strong,.brand small{display:block}.brand strong{font-size:19px}.brand small{color:var(--muted);letter-spacing:2px;margin-top:2px;font-size:10px}.sync{color:#68736e;font-size:12px}.sync i{background:#6fa17d;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.quick-add{color:#7f5a2c;background:#fffaf2;border:1px solid #d7c7af;border-radius:8px;padding:9px 13px;font-size:12px;font-weight:700}.nav{background:#e2e0da;border-radius:11px;gap:4px;padding:5px;display:flex}.nav button{color:#6e6b65;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:10px 22px;font-size:13px}.nav button.active{color:#242421;background:#fff;font-weight:700;box-shadow:0 1px 5px #cecac2}.notice{color:#6f5d42;background:#faf2e5;border:1px solid #eadbc4;border-radius:8px;margin:16px 0;padding:11px 14px;font-size:12px}.notice span{color:#b47c3b;margin-right:8px}.eyebrow{color:var(--gold);letter-spacing:2px;margin:0 0 7px;font-size:10px;font-weight:700}.hero{color:#fff;background:linear-gradient(118deg,#2f4147,#617b80 58%,#a78353 140%);border-radius:17px;justify-content:space-between;min-height:238px;padding:40px 47px;display:flex;box-shadow:0 16px 40px #33474f1f}.hero .eyebrow{color:#e8cc9d}.hero h1,.page-title h1,.wedding-banner h1{margin:0;font:500 34px/1.3 Georgia,Microsoft YaHei,serif}.hero p:not(.eyebrow){color:#e1e9e7;max-width:620px;font-size:13px}.hero-tags{gap:8px;margin-top:23px;display:flex}.hero-tags span{color:#f4f3ee;background:#ffffff12;border:1px solid #ffffff26;border-radius:99px;padding:6px 10px;font-size:10px}.hero-number{text-align:center;align-self:center;width:170px}.hero-number strong{font:58px Georgia;display:block}.hero-number span{color:#ece3d6;font-size:12px}.metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin:15px 0;display:grid}.metric{border:1px solid var(--line);background:var(--paper);border-radius:12px;align-items:baseline;gap:9px;padding:17px 21px;display:flex}.metric strong{font:29px Georgia}.metric span{color:var(--muted);font-size:12px}.metric.gold strong{color:var(--gold)}.metric.blue strong{color:#557786}.metric.red strong{color:var(--red)}.metric.orange strong{color:var(--orange)}.dashboard-grid{grid-template-columns:1.15fr .85fr;gap:15px;display:grid}.panel{border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:24px;box-shadow:0 3px 12px #4e47350a}.section-head{justify-content:space-between;align-items:start;display:flex}.section-head h2,.panel h2{margin:0;font:500 21px Georgia,Microsoft YaHei,serif}.section-head>span{color:#94714b;background:#f2e9dc;border-radius:99px;padding:5px 9px;font-size:11px}.create-card form{grid-template-columns:1fr 1.4fr auto;align-items:end;gap:10px;margin-top:27px;display:grid}label{color:#68665f;gap:7px;font-size:11px;font-weight:700;display:grid}input,select,textarea{background:#fff;border:1px solid #ddd8cf;border-radius:7px;outline:none;width:100%;min-width:0;padding:10px 11px}textarea{resize:vertical;min-height:82px}input:focus,select:focus,textarea:focus{border-color:#a57d49;box-shadow:0 0 0 3px #a57d4918}.primary{color:#fff;white-space:nowrap;background:#86602f;border:0;border-radius:7px;padding:10px 15px;font-weight:700}.primary:disabled,.ghost:disabled{opacity:.55}.ghost{background:#fff;border:1px solid #ddd6cb;border-radius:7px;padding:9px 14px}.danger-text{color:var(--red)!important}.task-list{margin-top:13px}.task-list>button{text-align:left;background:0 0;border:0;border-top:1px solid #eeeae2;align-items:center;gap:10px;width:100%;padding:10px 0;display:flex}.task-icon{border-radius:9px;place-items:center;width:30px;height:30px;font-style:normal;font-weight:700;display:grid}.task-icon.return{color:#4e7366;background:#dfede8}.task-icon.alert{color:var(--red);background:#f5dfdc}.task-list span{flex:1}.task-list strong,.task-list small{display:block}.task-list strong{font-size:12px}.task-list small{color:var(--muted);margin-top:3px;font-size:9px}.task-list em{color:#9b7650;font-size:10px;font-style:normal}.empty-line{color:var(--muted);font-size:12px}.wedding-strip{margin-top:15px}.wedding-cards{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:17px;display:grid}.wedding-cards>button{text-align:left;background:#fff;border:1px solid #e8e3da;border-radius:10px;grid-template-columns:49px 1fr auto 20px;align-items:center;gap:12px;padding:13px;display:grid}.wedding-cards>button:hover{background:#fdf9f2;border-color:#b79a72}.date-block{color:#8d6636;background:#f1e6d6;border-radius:8px;place-items:center;width:48px;height:48px;display:grid}.date-block b{font:21px Georgia}.date-block small{font-size:9px}.wedding-info strong,.wedding-info small{display:block}.wedding-info strong{font-size:14px}.wedding-info small{color:var(--muted);margin-top:4px;font-size:10px}.status{border-radius:99px;width:max-content;padding:5px 9px;font-size:10px;display:inline-flex}.status.waiting{color:#9b693c;background:#f5e6d8}.status.picking{color:#4e7181;background:#e3ebf0}.status.out{color:#9d5148;background:#f4dfdd}.status.returned{color:#577a67;background:#e4efe8}.status.closed{color:#696a64;background:#e6e6e2}.status.cancelled{color:#918a82;background:#eeeae5}.wedding-cards em{color:#9e8b72;font-style:normal}.empty-state{text-align:center;color:#77736b;padding:46px 12px}.empty-state strong{font-size:14px}.empty-state p{font-size:11px}.page-title{justify-content:space-between;align-items:end;margin:29px 2px 18px;display:flex}.page-title h1{font-size:31px}.page-title p:not(.eyebrow){color:var(--muted);margin-bottom:0;font-size:12px}.page-title>span{color:#a68152;font:32px Georgia}.filters{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:1fr 210px;gap:10px;margin-bottom:13px;padding:13px;display:grid}.back{color:#88643a;background:0 0;border:0;margin:2px 0 15px;padding:0;font-size:12px}.wedding-banner{background:linear-gradient(112deg,#f0e4d2,#fcf9f2);border:1px solid #eadcc5;border-radius:14px;justify-content:space-between;align-items:center;padding:28px 33px;display:flex}.wedding-banner .status{margin-bottom:14px}.wedding-banner h1{font-size:31px}.wedding-banner p:not(.eyebrow){color:#766c5e;margin:8px 0 0;font-size:12px}.progress{color:#865e2e;background:#fff7e9;border-radius:50%;place-items:center;width:83px;height:83px;display:grid}.progress strong{font:30px Georgia}.progress span{font-size:9px}.workflow{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(5,1fr);margin:14px 0;padding:17px 24px;display:grid}.workflow>div{color:#aaa69e;justify-items:center;gap:7px;font-size:10px;display:grid;position:relative}.workflow>div:not(:last-child):after{content:"";background:#ddd8cf;width:84%;height:1px;position:absolute;top:13px;left:58%}.workflow i{z-index:1;background:#fff;border:1px solid #ddd8cf;border-radius:50%;place-items:center;width:27px;height:27px;font-style:normal;display:grid;position:relative}.workflow .done{color:#5c756b}.workflow .done i{color:#fff;background:#719085;border-color:#719085}.workflow .done:not(:last-child):after{background:#8eaaa0}.stage-actions{justify-content:flex-end;align-items:center;gap:8px;margin:0 0 14px;display:flex}.finished-note{color:#587165;background:#e6eee9;border-radius:8px;padding:10px 14px;font-size:11px}.picker{justify-content:space-between;align-items:end;gap:18px;display:flex}.picker>div>small{max-width:470px;color:var(--muted);margin-top:7px;font-size:9px;display:block}.picker-form{grid-template-columns:315px 85px auto;gap:8px;display:grid}.checklist{margin-top:14px}.line-table{margin-top:17px}.line-head,.line-row{grid-template-columns:62px 1.4fr 105px 150px 70px 50px;align-items:center;gap:10px;display:grid}.line-head{color:#8a857d;padding:9px 0;font-size:10px}.line-row{border-top:1px solid #ece8e0;padding:12px 0}.thumbnail,.mini-photo{color:#968874;background:#f2ede5;border:1px solid #ded8ce;border-radius:8px;place-items:center;padding:0;font-size:9px;display:grid;overflow:hidden}.thumbnail{width:52px;height:52px}.thumbnail img,.mini-photo img{object-fit:cover;width:100%;height:100%}.line-row>div>strong,.line-row>div>small{display:block}.line-row>div>strong{font-size:12px}.line-row>div>small{color:var(--muted);margin-top:3px;font-size:9px}.type-badge{white-space:nowrap;border-radius:99px;width:max-content;padding:4px 7px;font-size:9px;display:inline-flex}.type-badge.reusable{color:#507365;background:#e1ece7}.type-badge.consumable{color:#9a584c;background:#f3e1dc}.type-badge.partial{color:#8e6d3c;background:#efe7d7}.qty{gap:5px;display:flex;align-items:center!important}.qty button{background:#fff;border:1px solid #ddd6cb;width:27px;height:29px}.qty b{border:1px solid #eee9e0;place-items:center;min-width:36px;height:29px;font-size:12px;display:grid}.qty span,.line-status{color:var(--muted);font-size:9px}.danger{color:var(--red);background:0 0;border:0;font-size:10px}.stock-panel{padding-top:17px}.stock-head,.stock-row{grid-template-columns:1.75fr .8fr .8fr .62fr .62fr .62fr .62fr .65fr;align-items:center;gap:10px;display:grid}.stock-head{color:#8a857d;padding:8px 0;font-size:9px}.stock-row{border-top:1px solid #ece8e0;padding:11px 0;font-size:11px}.stock-row.retired{opacity:.55}.stock-name{align-items:center;gap:10px;min-width:0;display:flex}.mini-photo{flex:none;width:42px;height:42px}.name-button{text-align:left;background:0 0;border:0;min-width:0;padding:0}.name-button strong,.name-button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.name-button strong{font-size:11px}.name-button small{color:var(--muted);margin-top:3px;font-size:8px}.stock-row i{border-radius:99px;width:max-content;padding:4px 8px;font-size:9px;font-style:normal}.stock-row .low{color:var(--red);background:#f5dfdc}.stock-row .ok{color:#577766;background:#e3eee7}.stock-row .muted{color:#85817a;background:#e9e7e2}.red-number{color:var(--red)}.adjustment{justify-content:space-between;align-items:end;gap:18px;display:flex}.adjust-form{grid-template-columns:245px 195px 80px auto;gap:8px;display:grid}.movement-panel,.movement-list{margin-top:14px}.movement-head,.movement-row{grid-template-columns:125px 1fr 110px 1.3fr 80px;align-items:center;gap:12px;display:grid}.movement-head{color:#8a857d;padding:8px 0;font-size:9px}.movement-row{border-top:1px solid #ece8e0;padding:11px 0;font-size:10px}.movement-row small{color:var(--muted)}.movement-row .positive{color:#4e7663}.movement-row .negative{color:#aa554c}.material-layout{grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:14px;display:grid}.type-choices{grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0;display:grid}.type-choices button{text-align:left;background:#fff;border:1px solid #e2ddd4;border-radius:9px;gap:5px;min-height:84px;padding:12px;display:grid}.type-choices button strong{font-size:12px}.type-choices button small{color:var(--muted);font-size:8px;line-height:1.55}.type-choices button.active.reusable{background:#eef5f2;border-color:#78988b}.type-choices button.active.consumable{background:#fbefec;border-color:#bd786b}.type-choices button.active.partial{background:#faf4e8;border-color:#b79662}.item-form{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.item-form .wide{grid-column:1/-1}.form-actions{gap:8px;display:flex}.photo-box{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding-top:20px;display:flex}.photo-box>div{align-items:center;gap:12px;display:flex}.photo-box button,.photo-box span{color:#8d8375;background:#f2ede5;border:1px solid #dfd8ce;border-radius:9px;place-items:center;width:70px;height:70px;padding:0;font-size:9px;display:grid;overflow:hidden}.photo-box img{object-fit:cover;width:100%;height:100%}.photo-box p{max-width:280px;color:var(--muted);font-size:9px}.capture{color:#fff;cursor:pointer;background:#86602f;border-radius:7px;place-items:center;min-height:40px;padding:0 17px;display:grid}.capture.secondary{background:#425d64;margin:15px 0 9px}.import-card p:not(.eyebrow){color:var(--muted);font-size:10px;line-height:1.7}.import-card>small{color:#938c81;font-size:8px}.material-list{margin-top:14px}.material-list>div{max-height:560px;margin-top:12px;overflow:auto}.material-list button{text-align:left;background:0 0;border:0;border-top:1px solid #eee9e1;grid-template-rows:auto auto;grid-template-columns:34px 1fr auto;align-items:center;gap:2px 8px;width:100%;padding:8px 4px;display:grid}.material-list button.active{background:#faf3e9}.material-list button>span{color:#968d80;background:#eee9e1;border-radius:6px;grid-row:1/3;place-items:center;width:32px;height:32px;font-size:7px;display:grid;overflow:hidden}.material-list img{object-fit:cover;width:100%;height:100%}.material-list b{font-size:10px}.material-list small{color:var(--muted);font-size:7px}.material-list em{color:#9b7041;grid-area:1/3/3;font-size:9px;font-style:normal}.modal{z-index:30;background:#24211ddd;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal>div{background:#fff;border-radius:12px;gap:9px;max-width:min(760px,100%);max-height:90vh;padding:14px;display:grid;position:relative}.modal img{object-fit:contain;max-width:100%;max-height:72vh}.modal-close{background:#fff;border:0;border-radius:50%;width:30px;height:30px;font-size:21px;position:absolute;top:4px;right:5px}.no-photo{color:#8e806d;background:#f1ece4;place-items:center;width:min(520px,80vw);height:280px;display:grid}.modal strong,.modal small{text-align:center}.modal small{color:var(--muted)}@media (max-width:900px){.stock-head{display:none}.stock-row{grid-template-columns:1.5fr .8fr .7fr .7fr}.stock-row>:nth-child(3),.stock-row>:nth-child(7),.stock-row>:nth-child(8){display:none}.material-layout{grid-template-columns:1fr}.material-layout aside{grid-template-columns:1fr 1fr;gap:14px;display:grid}.material-list{margin-top:0}.picker{display:block}.picker-form{margin-top:14px}.adjustment{display:block}.adjust-form{margin-top:14px}}@media (max-width:700px){.shell{width:calc(100% - 18px);margin-top:4px}.topbar{height:59px}.sync{display:none}.quick-add{padding:8px 10px}.nav{overflow:auto}.nav button{padding:9px 14px}.notice{margin:11px 0}.hero{min-height:218px;padding:27px 20px}.hero h1{font-size:26px}.hero-number{width:74px}.hero-number strong{font-size:44px}.hero-tags{flex-wrap:wrap}.metrics{grid-template-columns:1fr 1fr}.dashboard-grid,.create-card form,.picker-form,.adjust-form,.filters,.wedding-cards{grid-template-columns:1fr}.wedding-cards>button{grid-template-columns:48px 1fr 18px}.wedding-cards .status{display:none}.page-title{align-items:start}.page-title h1{font-size:26px}.page-title .primary{padding:8px 9px}.wedding-banner{padding:22px}.wedding-banner h1{font-size:25px}.progress{width:70px;height:70px}.workflow{padding:13px 5px}.workflow span{font-size:8px}.workflow>div:not(:last-child):after{width:86%;left:57%}.stage-actions{flex-wrap:wrap;justify-content:stretch}.stage-actions button{flex:1}.line-head{display:none}.line-row{grid-template-columns:52px 1fr auto;gap:8px}.line-row>:nth-child(3){grid-column:3}.line-row>:nth-child(4){grid-column:2}.line-row>:nth-child(5),.line-row>:nth-child(6){grid-column:3}.stock-row{grid-template-columns:1.4fr .75fr .65fr}.stock-row>:nth-child(2),.stock-row>:nth-child(3),.stock-row>:nth-child(5),.stock-row>:nth-child(7),.stock-row>:nth-child(8),.movement-head{display:none}.movement-row{grid-template-columns:1fr auto;gap:3px 10px}.movement-row small,.movement-row span{grid-column:1}.movement-row b{grid-area:1/2/4}.material-layout aside,.type-choices{grid-template-columns:1fr}.type-choices button{min-height:auto}.item-form{grid-template-columns:1fr 1fr}.item-form .wide{grid-column:1/-1}.photo-box{flex-direction:column;align-items:stretch}.photo-box .capture{min-height:43px}}.picking-progress{background:#fffaf1;border:1px solid #ead9bd;border-radius:11px;grid-template-columns:auto minmax(220px,420px);align-items:center;gap:24px;margin:-1px 0 14px;padding:14px 18px;display:grid}.picking-progress>div:first-child{gap:4px;display:grid}.picking-progress strong{font-size:12px}.picking-progress span{color:#8a7659;font-size:10px}.picking-progress.complete{background:#f2f8f5;border-color:#c7ddd3}.picking-progress.complete span{color:#5f796d}.progress-track{background:#e9e4da;border-radius:99px;height:9px;overflow:hidden}.progress-track i{border-radius:inherit;background:linear-gradient(90deg,#a27b47,#d0a86f);height:100%;transition:width .2s;display:block}.picking-progress.complete .progress-track i{background:#6e9584}.material-picker{align-items:initial;display:block}.picker-heading small{color:var(--muted);margin-top:7px;font-size:9px;display:block}.material-search{grid-template-columns:1fr auto;align-items:center;gap:12px;margin:18px 0 10px;display:grid}.material-search span{color:var(--muted);font-size:9px}.material-choice-grid{grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:8px;max-height:350px;padding:2px;display:grid;overflow:auto}.material-choice-grid>button{text-align:left;background:#fff;border:1px solid #e5dfd5;border-radius:10px;grid-template-columns:58px 1fr;align-items:center;gap:10px;min-height:76px;padding:8px;display:grid}.material-choice-grid>button:hover:not(:disabled){background:#fdf9f2;border-color:#b5966c}.material-choice-grid>button.selected{background:#fff8ec;border-color:#98703d;box-shadow:0 0 0 2px #b88b4a24}.material-choice-grid>button:disabled{cursor:not-allowed;opacity:.5}.choice-photo{color:#938776;background:#f0ebe3;border-radius:8px;place-items:center;width:58px;height:58px;font-size:8px;display:grid;overflow:hidden}.choice-photo img{object-fit:cover;width:100%;height:100%}.material-choice-grid>button>span:last-child,.material-choice-grid strong,.material-choice-grid small,.material-choice-grid em{min-width:0;display:block}.material-choice-grid strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.material-choice-grid small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin-top:4px;font-size:8px;overflow:hidden}.material-choice-grid em{color:#7b653f;margin-top:6px;font-size:9px;font-style:normal}.choice-empty{text-align:center;color:var(--muted);grid-column:1/-1;padding:32px;font-size:11px}.picker-add-bar{background:#fff9ef;border:1px solid #dec8a5;border-radius:10px;grid-template-columns:1fr 100px auto;align-items:end;gap:10px;margin-top:12px;padding:13px;display:grid}.picker-add-bar>div{align-self:center;gap:4px;display:grid}.picker-add-bar strong{font-size:12px}.picker-add-bar small{color:var(--muted);font-size:9px}.capacity-warning{color:var(--red);grid-column:2/-1;font-size:9px}.line-row.picked{background:linear-gradient(90deg,#f3f8f5,#0000)}.pick-check{color:#836a48;white-space:nowrap;background:#fff;border:1px solid #d4cec4;border-radius:7px;min-height:38px;padding:7px 9px;font-size:10px;font-weight:700}.pick-check:hover{background:#fff9ef;border-color:#9d7c4f}.pick-check.checked{color:#4f7464;background:#eaf4ef;border-color:#8bac9d}.pick-check:disabled{opacity:.6}@media (max-width:700px){.picking-progress{grid-template-columns:1fr;gap:10px;padding:13px}.material-search{grid-template-columns:1fr}.material-choice-grid{grid-template-columns:1fr;max-height:410px}.picker-add-bar{grid-template-columns:1fr 105px}.picker-add-bar>div{grid-column:1/-1}.picker-add-bar .primary{min-height:44px}.capacity-warning{grid-column:1/-1}.pick-check{min-height:44px;padding:8px 10px}.line-row{padding:14px 0}.thumbnail{min-height:52px}}.sync{gap:7px}.sync i{background:#b28a51}.sync.connected i{background:#6f9483}.sync.retrying i,.sync.reconnecting i{background:#c3913f;animation:1s infinite connection-pulse}.sync.offline{color:#a64f47}.sync.offline i{background:#b75a51}.sync button,.notice button{color:inherit;background:0 0;border:1px solid;border-radius:6px;margin-left:7px;padding:5px 9px;font-size:10px}.notice.error{color:#9f4f47;background:#fff0ed}.notice.error>span{color:#b75a51}@keyframes connection-pulse{50%{opacity:.35}}@media (max-width:700px){.notice button{min-height:34px;padding:7px 10px}}.account-chip{border-left:1px solid var(--line);min-width:96px;padding:5px 11px;line-height:1.2;display:grid}.account-chip strong{font-size:10px}.account-chip small{color:var(--muted);margin-top:3px;font-size:8px}.nav a{color:#806a4e;margin-left:auto;padding:9px 12px;font-size:10px;text-decoration:none}.access-denied{justify-items:start;gap:14px;max-width:620px;margin:80px auto;padding:42px;display:grid}.access-denied h1{font-size:28px}.access-denied p{max-width:520px;color:var(--muted);font-size:12px;line-height:1.8}.access-denied>strong{color:#765a37;background:#f4eee5;border-radius:7px;padding:10px 13px;font-size:12px}.role-help{color:var(--muted);margin-top:20px;font-size:11px;line-height:1.8}.team-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:14px;display:grid}.staff-form{grid-template-columns:1fr 1.25fr 1.2fr auto;align-items:end;gap:9px;margin-top:18px;display:grid}.staff-list{margin-top:18px}.staff-head,.staff-row{grid-template-columns:1.55fr .65fr .7fr 64px;align-items:center;gap:10px;display:grid}.staff-head{color:var(--muted);padding:8px 0;font-size:9px}.staff-row{border-top:1px solid var(--line);padding:11px 0;font-size:10px}.staff-row.inactive{opacity:.55}.staff-row strong,.staff-row small{display:block}.staff-row small{color:var(--muted);margin-top:3px;font-size:8px}.role-badge{border-radius:99px;width:max-content;padding:4px 8px;font-size:9px;display:inline-flex}.role-badge.admin{color:#855f2f;background:#eee1cc}.role-badge.warehouse{color:#4f7464;background:#e1ece7}.role-badge.planner{color:#4f6f83;background:#e4eaf0}.role-badge.viewer{color:#77736b;background:#eceae6}.feishu-card.ready{background:#f5faf7;border-color:#b9d5c9}.feishu-card.waiting{background:#fffaf2;border-color:#eadcc5}.feishu-card h2{margin:7px 0 9px}.feishu-card p,.feishu-card li,.feishu-card small{color:var(--muted);font-size:9px;line-height:1.75}.feishu-card ol{margin:10px 0 14px;padding-left:18px}.feishu-card a{color:#88643a;margin:5px 0 11px;font-size:10px;display:inline-flex}.feishu-card small{display:block}.permission-card{margin-top:14px}.permission-card>div{border-top:1px solid var(--line);grid-template-columns:70px 1fr;align-items:center;padding:9px 0;display:grid}.permission-card p{color:var(--muted);margin:0;font-size:9px}.backup-panel{justify-content:space-between;align-items:center;gap:20px;margin-top:14px;display:flex}.backup-panel p:not(.eyebrow){color:var(--muted);margin:6px 0 0;font-size:9px}.backup-panel a{white-space:nowrap;text-decoration:none}.audit-panel{margin-top:14px}.audit-list{margin-top:12px}.audit-head,.audit-row{grid-template-columns:115px 1.1fr .55fr .85fr 1fr;align-items:center;gap:12px;display:grid}.audit-head{color:var(--muted);padding:8px 0;font-size:9px}.audit-row{border-top:1px solid var(--line);padding:10px 0;font-size:9px}.audit-row strong,.audit-row small{display:block}.audit-row small{color:var(--muted)}@media (max-width:900px){.team-grid{grid-template-columns:1fr}.staff-form{grid-template-columns:1fr 1fr}.staff-form button{min-height:40px}.permission-card{margin-top:14px}}@media (max-width:700px){.account-chip{display:none}.nav a{background:#fff;position:sticky;right:0}.access-denied{margin:32px auto;padding:28px 20px}.access-denied h1{font-size:23px}.staff-form{grid-template-columns:1fr}.staff-head{display:none}.staff-row{grid-template-columns:1fr auto;gap:6px}.staff-row>small{grid-column:1}.staff-row>button{grid-area:1/2/3}.audit-head{display:none}.audit-row{grid-template-columns:1fr auto;gap:4px 10px}.audit-row>small:first-child,.audit-row>span:nth-child(2){grid-column:1}.audit-row>b{grid-area:1/2/3}.audit-row>small:last-child{grid-column:1}.team-grid aside{grid-template-columns:1fr;display:grid}.sync{display:none}}.wedding-assets{margin:14px 0}.wedding-assets-layout{grid-template-columns:minmax(300px,.75fr) minmax(0,1.45fr);gap:18px;margin-top:18px;display:grid}.execution-export{background:linear-gradient(145deg,#fff9ef,#f6eee1);border:1px solid #e3d5bf;border-radius:11px;grid-template-columns:48px 1fr;align-content:start;gap:12px;padding:17px;display:grid}.export-icon{color:#fff;background:#876437;border-radius:12px;place-items:center;width:46px;height:46px;font-weight:700;display:grid}.execution-export>div{gap:5px;display:grid}.execution-export strong,.wedding-designs strong{font-size:12px}.execution-export p{color:#6f6a61;margin:0;font-size:9px;line-height:1.65}.execution-export small{color:#9a6f36;font-size:9px}.export-button{grid-column:1/-1;min-height:43px;margin-top:4px}.wedding-designs{border:1px solid var(--line);background:#fbfaf7;border-radius:11px;min-width:0;padding:17px}.wedding-designs>header{justify-content:space-between;align-items:center;gap:14px;display:flex}.wedding-designs>header>div{gap:4px;display:grid}.wedding-designs header small{color:var(--muted);font-size:9px;line-height:1.55}.design-upload{flex:none;min-height:36px;padding:0 13px}.design-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px;display:grid}.design-grid figure{background:#fff;border:1px solid #e2ddd4;border-radius:9px;min-width:0;margin:0;overflow:hidden}.design-preview{background:#eee9e1;border:0;width:100%;height:132px;padding:0;display:block;position:relative;overflow:hidden}.design-preview img{object-fit:cover;width:100%;height:100%}.design-preview span{color:#fff;background:#1e1c19b8;border-radius:99px;padding:4px 7px;font-size:8px;position:absolute;bottom:7px;right:7px}.design-grid figcaption{align-items:center;gap:6px;padding:8px;display:flex}.design-grid figcaption strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:9px;overflow:hidden}.design-grid figcaption button{color:var(--red);background:0 0;border:0;padding:0;font-size:9px}.design-empty{color:#77736b;border:1px dashed #d9d2c7;border-radius:9px;align-items:center;gap:12px;min-height:104px;margin-top:14px;padding:17px;display:flex}.design-empty>span{color:#947149;background:#eee8de;border-radius:10px;place-items:center;width:42px;height:42px;display:grid}.design-empty>div{gap:5px;display:grid}.design-empty small{font-size:9px}.new-item-photo{margin:2px 0}.new-photo-picker{cursor:pointer;background:#fffaf1;border:1px dashed #cdb894;border-radius:9px;gap:5px;padding:14px 16px;display:grid}.new-photo-picker b{color:#86602f;font-size:11px}.new-photo-picker small{color:var(--muted);font-size:9px;font-weight:400}.new-photo-picker.selected{background:#f1f8f4;border-style:solid;border-color:#89a99b}.new-photo-picker.selected b{color:#4f7464}@media (max-width:900px){.wedding-assets-layout{grid-template-columns:1fr}.design-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:700px){.wedding-assets{padding:18px}.wedding-assets .section-head{gap:8px;display:grid}.wedding-assets-layout{gap:12px}.execution-export{grid-template-columns:42px 1fr;padding:14px}.export-icon{width:40px;height:40px}.wedding-designs{padding:14px}.wedding-designs>header{flex-direction:column;align-items:stretch}.design-upload{min-height:43px}.design-grid{grid-template-columns:1fr 1fr}.design-preview{height:126px}}.employee-login{background:linear-gradient(120deg,#263b42 0 51%,#f3f0ea 51%);grid-template-columns:minmax(320px,1.05fr) minmax(360px,.75fr);min-height:100vh;display:grid}.login-brand{color:#fff;align-content:center;justify-items:start;padding:8vw;display:grid}.login-brand .brand-mark{width:58px;height:58px;margin-bottom:26px;font-size:32px}.login-brand .eyebrow{color:#d6bd93}.login-brand h1{margin:0;font:500 clamp(38px,5vw,68px)/1.18 Georgia,Microsoft YaHei,serif}.login-brand>p:not(.eyebrow){color:#dce6e4;max-width:560px;margin:25px 0;font-size:14px;line-height:1.9}.login-brand>div{flex-wrap:wrap;gap:9px;display:flex}.login-brand>div span{background:#ffffff0d;border:1px solid #ffffff2b;border-radius:99px;padding:8px 12px;font-size:10px}.login-card{background:#fff;border:1px solid #e4ded4;border-radius:16px;align-self:center;width:min(460px,100% - 40px);margin:auto;padding:38px;box-shadow:0 18px 60px #1822281a}.login-card h2{margin:0;font:500 28px Georgia,Microsoft YaHei,serif}.login-card>div>p:not(.eyebrow){color:var(--muted);margin:9px 0 0;font-size:11px}.login-card form{gap:15px;margin:28px 0 15px;display:grid}.login-card form input{min-height:46px}.login-card form .primary{min-height:47px;margin-top:3px}.login-error{color:#a44f46;background:#fff0ed;border-radius:7px;margin:0;padding:10px 12px;font-size:10px}.login-card>small{color:var(--muted);text-align:center;font-size:9px;display:block}.login-card details{border-top:1px solid var(--line);text-align:center;margin-top:22px;padding-top:16px}.login-card summary{color:#8b8174;cursor:pointer;font-size:9px}.login-card details a{color:#80623b;margin-top:10px;font-size:10px;display:inline-block}.nav-logout{color:#806a4e!important;margin-left:auto!important;font-size:10px!important}.staff-help{color:var(--muted);margin:14px 0 0;font-size:9px;line-height:1.7}.staff-form{grid-template-columns:1fr 1.1fr 1.1fr 1.25fr auto}@media (max-width:900px){.employee-login{background:linear-gradient(#263b42 0 37%,#f3f0ea 37%);grid-template-columns:1fr;align-content:start}.login-brand{min-height:37vh;padding:48px 9vw}.login-brand .brand-mark{width:46px;height:46px;margin-bottom:15px;font-size:26px}.login-brand h1{font-size:36px}.login-brand>p:not(.eyebrow),.login-brand>div{display:none}.login-card{margin:38px auto}.staff-form{grid-template-columns:1fr 1fr}.staff-form button{min-height:42px}}@media (max-width:700px){.employee-login{background:linear-gradient(#263b42 0 32%,#f3f0ea 32%)}.login-brand{min-height:32vh;padding:31px 24px}.login-brand h1{font-size:31px}.login-card{width:calc(100% - 22px);margin:22px auto;padding:26px 20px}.nav-logout{position:sticky;right:0;background:#fff!important}.staff-form{grid-template-columns:1fr}}.task-icon.overdue{color:#a6483f;background:#f7d8d4}.task-icon.photo{color:#6f5a8d;background:#e8e1f2;font-size:9px}.task-manage-row{border-top:1px solid #eeeae2;grid-template-columns:minmax(0,1fr) 132px;display:grid}.task-main{text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:10px 0;display:flex}.task-main>span{flex:1}.task-main strong,.task-main small{display:block}.task-main strong{font-size:12px}.task-main small{color:#77766f;margin-top:3px;font-size:9px}.task-main em{color:#9b7650;font-size:10px;font-style:normal}.task-manage-row>aside{grid-template-columns:repeat(3,1fr);align-items:center;gap:4px;padding-left:7px;display:grid}.task-manage-row>aside button{background:#fff;border:1px solid #ddd7ce;border-radius:6px;min-height:32px;padding:4px 2px;font-size:9px;font-weight:700}.task-manage-row>aside .delete{color:#a4554b;border-color:#e2c7c2}.task-manage-row>aside .archive{color:#527064;border-color:#c9d6cf}.task-manage-row>aside .template{color:#805f31;background:#fffaf0;border-color:#d8c39e}.wedding-cards>button.overdue{background:#fff8f6;border-color:#dda9a2}.wedding-cards>button.overdue .date-block{color:#9d5047;background:#f5ddd9}.status.overdue{color:#a1473e;background:#f5d9d5}.status.archived{color:#696e6a;background:#e6e7e5}.wedding-cards>button.archived{background:#f7f7f4;border-color:#d9d9d4}.wedding-cards>button.archived .date-block{color:#777871;background:#e5e5e0}.archive-shortcuts{grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 12px;display:grid}.archive-shortcuts button{text-align:left;background:#fff;border:1px solid #e0dbd2;border-radius:10px;align-items:center;gap:10px;padding:12px 15px;display:flex}.archive-shortcuts button.active{background:#fff9ef;border-color:#b89a70;box-shadow:0 0 0 2px #b89a7015}.archive-shortcuts strong{color:#89663a;font:22px Georgia}.archive-shortcuts span{color:#6f6c66;font-size:11px}.wedding-cards.manage-list{grid-template-columns:1fr}.wedding-manage-card{background:#fff;border:1px solid #e4dfd6;border-radius:11px;grid-template-columns:minmax(0,1fr) 132px;display:grid;overflow:hidden}.wedding-manage-card:hover{border-color:#b79a72;box-shadow:0 5px 15px #59472c0c}.wedding-manage-card.overdue{background:#fff8f6;border-color:#dda9a2}.wedding-manage-card.archived{background:#f7f7f4;border-color:#d9d9d4}.wedding-card-main{text-align:left;background:0 0;border:0;grid-template-columns:49px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:15px;display:grid}.wedding-card-main:hover{background:#fdf9f2}.wedding-card-main em{color:#8f785a;white-space:nowrap;font-size:10px;font-style:normal}.wedding-manage-card.overdue .date-block{color:#9d5047;background:#f5ddd9}.wedding-manage-card.archived .date-block{color:#777871;background:#e5e5e0}.wedding-card-actions{background:#faf9f6;border-left:1px solid #e8e3da;grid-template-rows:repeat(3,1fr);gap:5px;padding:9px;display:grid}.wedding-card-actions button{background:#fff;border:1px solid #ddd7ce;border-radius:6px;min-height:28px;padding:5px 8px;font-size:10px;font-weight:700}.wedding-card-actions button:disabled{cursor:not-allowed;opacity:.42}.wedding-card-actions .delete{color:#a4554b;border-color:#e2c7c2}.wedding-card-actions .archive{color:#527064;border-color:#c9d6cf}.wedding-card-actions .template,.wedding-card-actions .reuse{color:#805f31;background:#fffaf0;border-color:#d8c39e}.wedding-card-actions .restore{color:#527064;background:#f5faf7;border-color:#c9d6cf}.reuse-inline{background:#fffaf0;border-top:1px solid #e5dfd6;grid-column:1/-1;grid-template-columns:auto 160px 1fr auto;align-items:end;gap:9px;padding:12px 14px;display:grid}.reuse-inline>strong{color:#795b33;align-self:center;font-size:11px}.reuse-inline>small{color:#847867;grid-column:2/-1;font-size:9px}.overdue-banner{color:#8f423b;background:#fff2ef;border:1px solid #e5b6af;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;padding:12px 15px;font-size:11px;display:flex}.overdue-banner strong{font-size:12px}.overdue-banner span{color:#955e57}.archived-banner{color:#5f6862;background:#f4f5f2;border:1px solid #d6d7d3;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;padding:12px 15px;font-size:11px;display:flex}.archived-banner strong{font-size:12px}.archived-banner span{color:#737a75}.wedding-tools{align-items:start;gap:8px;margin-right:auto;display:flex}.wedding-edit,.wedding-copy{position:relative}.wedding-edit summary,.wedding-copy summary{color:#7f6749;cursor:pointer;background:#fff;border:1px solid #d9d2c8;border-radius:7px;padding:9px 12px;font-size:11px;list-style:none}.wedding-copy summary{color:#805f31;background:#fffaf0;border-color:#d2c09f;font-weight:700}.wedding-edit summary::-webkit-details-marker{display:none}.wedding-copy summary::-webkit-details-marker{display:none}.wedding-edit[open]>div,.wedding-copy[open]>div{z-index:4;background:#fff;border:1px solid #ded7cd;border-radius:9px;grid-template-columns:150px 1fr auto;gap:7px;width:430px;padding:10px;display:grid;position:absolute;top:45px;left:0;box-shadow:0 12px 30px #3d352224}.wedding-copy[open]>div{width:500px}.wedding-copy[open]>div>small{color:#867c6d;grid-column:1/-1;font-size:9px}.delete-wedding{color:#a94f45!important;background:#fff8f7!important;border-color:#e4c3be!important}.archive-wedding{color:#547064!important;background:#f5faf7!important;border-color:#c8d2cc!important}.restore-wedding{font-weight:700;color:#805f31!important;background:#fffaf0!important;border-color:#c9b48d!important}.delete-locked{color:#8a837a;background:#eeeae5;border-radius:7px;padding:9px 12px;font-size:10px}.picker-form>.capacity-warning,.picker-form>.capacity-ok{border-radius:6px;grid-column:1/-1;padding:6px 9px;font-size:9px}.capacity-warning{color:#a34b43;background:#fae4e0}.capacity-ok{color:#557464;background:#e7f1eb}.line-status.checked{color:#4e7b65}.line-status.needs-info{color:#a06b3e}.stock-row b>small{display:none}.adjust-preview{color:#5c6d65;background:#eef4f1;border-radius:8px;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:12px;padding:9px 11px;font-size:10px;display:flex}.adjust-preview span{align-items:baseline;gap:5px;display:flex}.adjust-preview b{color:#334d43;font-size:13px}.adjust-preview em{color:#9a8b77;font-style:normal}.adjust-preview.invalid{color:#9d4b43;background:#fae4e0}@media (max-width:700px){body{padding-bottom:78px}.shell{margin-bottom:20px}.nav{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f3f1ecf2;border:1px solid #d8d3ca;border-radius:14px;grid-template-columns:repeat(5,1fr);gap:3px;padding:6px;display:grid;position:fixed;bottom:8px;left:8px;right:8px;overflow:visible;box-shadow:0 10px 28px #28251d30}.nav button{white-space:normal;place-items:center;min-width:0;min-height:46px;font-size:10px;line-height:1.15;display:grid;padding:5px 2px!important}.panel{padding:17px}.hero{min-height:190px;padding:23px 18px}.hero-number{align-self:flex-start;margin-top:21px}.hero-tags{gap:5px;margin-top:15px}.hero-tags span{padding:5px 7px}.metrics{gap:8px}.metric{padding:13px 14px}.metric strong{font-size:25px}.overdue-banner,.archived-banner{flex-direction:column;align-items:flex-start;gap:4px}.archive-shortcuts{gap:6px}.archive-shortcuts button{text-align:center;justify-items:center;gap:3px;padding:10px 4px;display:grid}.archive-shortcuts strong{font-size:19px}.archive-shortcuts span{font-size:9px}.wedding-manage-card{grid-template-columns:1fr}.wedding-card-main{grid-template-columns:48px 1fr auto;padding:13px}.wedding-card-main .status{display:none}.wedding-card-main em{grid-column:3}.wedding-card-actions{border-top:1px solid #e8e3da;border-left:0;grid-template-rows:1fr;grid-template-columns:repeat(3,1fr)}.wedding-card-actions button{min-height:44px;font-size:11px}.reuse-inline{grid-template-columns:1fr;padding:13px}.reuse-inline>small{grid-column:1}.task-manage-row{grid-template-columns:1fr}.task-manage-row>aside{padding:0 0 9px 40px}.task-manage-row>aside button{min-height:42px;font-size:10px}.wedding-banner{align-items:flex-start}.wedding-tools{width:100%;margin:0;display:grid}.wedding-edit,.wedding-copy{width:100%;margin:0}.wedding-edit summary,.wedding-copy summary{text-align:center}.wedding-edit[open]>div,.wedding-copy[open]>div{width:100%;box-shadow:none;grid-template-columns:1fr;margin-top:7px;position:static}.stage-actions{display:grid;grid-template-columns:1fr!important}.stage-actions button{width:100%}.picker-form>.capacity-warning,.picker-form>.capacity-ok{margin-top:0}.stock-row{padding:14px 0}.stock-row b{gap:2px;font-size:12px;display:grid!important}.stock-row b>small{color:#8a857d;font-size:8px;font-weight:400;display:block}.item-form{grid-template-columns:1fr!important}.item-form .wide{grid-column:1!important}.adjust-preview{justify-content:center}.movement-row{min-height:62px}}
