:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#19332c;font-synthesis:none;text-rendering:optimizelegibility;--color-ink:#19332c;--color-muted:#64736e;--color-deep:#132a24;--color-primary:#20735d;--color-primary-dark:#165845;--color-accent:#c79749;--color-surface:#fff;--color-border:#dbe2dd;--shadow-card:0 18px 55px #132a2414;background:#f3f5f0;font-family:Inter,Noto Sans JP,Hiragino Sans,Yu Gothic,system-ui,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html{background:#f3f5f0;min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}a{color:inherit}h1,h2,p{margin-top:0}h1{letter-spacing:-.03em;margin-bottom:.5rem;font-size:clamp(1.75rem,5vw,2.5rem);line-height:1.2}h2{margin-bottom:.5rem;font-size:1.2rem}code{background:#edf0ec;border-radius:.3rem;padding:.1rem .35rem;font-size:.9em}.button{cursor:pointer;border:1px solid #0000;border-radius:.65rem;justify-content:center;align-items:center;gap:.6rem;min-height:44px;padding:.7rem 1rem;font-weight:700;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:focus-visible,.nav-link:focus-visible,.brand:focus-visible{outline-offset:3px;outline:3px solid #c7974973}.button:disabled{cursor:not-allowed;opacity:.5;transform:none}.button-primary{color:#fff;background:var(--color-primary)}.button-primary:hover{background:var(--color-primary-dark)}.button-secondary{border-color:var(--color-border);background:#fff}.button-ghost{color:var(--color-ink);background:0 0;border-color:#ced8d2}.button-danger{color:#8c2f26;background:#fff8f7;border-color:#d8a6a1}.button-danger:hover{background:#fcecea;border-color:#b9655c}.button-small{min-height:36px;padding:.45rem .7rem;font-size:.82rem}.app-shell{min-height:100vh}.app-header{border-bottom:1px solid var(--color-border);background:#ffffffeb;justify-content:space-between;align-items:center;gap:1rem;min-height:72px;padding:.8rem max(1rem,50vw - 590px);display:flex}.brand{align-items:center;gap:.65rem;text-decoration:none;display:inline-flex}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.08em;font-family:Georgia,Yu Mincho,serif;font-size:1.05rem}.brand small{color:var(--color-muted);letter-spacing:.14em;margin-top:.1rem;font-size:.68rem}.brand-mark{color:#fff;background:var(--color-deep);border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-family:Yu Mincho,serif;display:inline-grid}.brand-mark-large{width:58px;height:58px;font-size:1.45rem}.account{align-items:center;gap:.8rem;display:flex}.account-email{max-width:240px;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.primary-nav{border-bottom:1px solid var(--color-border);background:#fff;gap:.25rem;padding:0 max(1rem,50vw - 590px);display:flex;overflow-x:auto}.nav-link{color:var(--color-muted);flex:none;padding:.9rem 1rem;font-size:.9rem;font-weight:700;text-decoration:none;position:relative}.nav-link.active{color:var(--color-primary-dark)}.nav-link.active:after{background:var(--color-primary);content:"";border-radius:2px 2px 0 0;height:3px;position:absolute;bottom:0;left:.8rem;right:.8rem}.main-content{width:min(1180px,100%);margin:0 auto;padding:clamp(1.25rem,4vw,2.5rem) 1rem 4rem}.page-stack{gap:1.5rem;display:grid}.page-heading{justify-content:space-between;align-items:end;gap:1.5rem;display:flex}.page-heading p:last-child{color:var(--color-muted);margin-bottom:0}.eyebrow{color:var(--color-primary);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.35rem;font-size:.72rem;font-weight:800}.metric-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.metric-card,.panel,.empty-state{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:.9rem}.metric-card{padding:1.25rem}.metric-card p{color:var(--color-muted);margin-bottom:.8rem;font-size:.82rem;font-weight:700}.metric-card strong{letter-spacing:-.04em;margin-bottom:.65rem;font-size:clamp(1.35rem,3vw,1.9rem);display:block}.metric-card small{color:#8a9893}.panel{padding:clamp(1.25rem,4vw,2rem)}.panel>p{max-width:760px;color:var(--color-muted);margin-bottom:0;line-height:1.8}.panel-heading{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:.75rem;display:flex}.status-badge{color:var(--color-primary-dark);background:#e3f2ec;border-radius:999px;flex:none;padding:.35rem .6rem;font-size:.75rem;font-weight:800}.empty-state{text-align:center;justify-items:center;padding:clamp(2rem,8vw,5rem) 1.25rem;display:grid}.empty-state p{max-width:560px;color:var(--color-muted);line-height:1.7}.empty-state-icon{color:var(--color-primary-dark);background:#e3f2ec;border-radius:999px;margin-bottom:1rem;padding:.45rem .7rem;font-size:.72rem;font-weight:800}.login-page,.error-page{background:radial-gradient(circle at 18% 15%,#c7974924,#0000 28rem),radial-gradient(circle at 82% 85%,#20735d21,#0000 30rem),#f3f5f0;place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{border:1px solid var(--color-border);background:#fffffff0;border-radius:1rem;width:min(440px,100%);padding:clamp(1.5rem,7vw,2.8rem);box-shadow:0 30px 80px #132a241f}.login-brand{margin-bottom:1.75rem}.login-brand .eyebrow{margin:.8rem 0 0}.login-lead{color:var(--color-muted);margin-bottom:1.5rem;line-height:1.7}.button-google{width:100%;color:var(--color-ink);background:#fff;border-color:#cfd8d3}.button-google:hover:not(:disabled){background:#f8faf8;border-color:#9eaea6}.google-mark{color:#4285f4;font-family:Arial,sans-serif;font-size:1.1rem}.login-note{color:#7c8b85;text-align:center;margin:1.1rem 0 0;font-size:.78rem}.alert{border:1px solid;border-radius:.65rem;gap:.25rem;margin-bottom:1rem;padding:.85rem 1rem;font-size:.85rem;line-height:1.5;display:grid}.alert-error{color:#8a2921;background:#fff2f0;border-color:#edc7c4}.alert-warning{color:#78551e;background:#fff9ec;border-color:#ebd4a9}.alert-success{color:#155b47;background:#edf9f4;border-color:#b9ddcd}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.master-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.master-hub-card{border:1px solid var(--color-border);background:var(--color-surface);min-height:190px;box-shadow:var(--shadow-card);border-radius:.9rem;grid-template-columns:1fr auto;align-content:start;gap:.55rem 1rem;padding:clamp(1.25rem,4vw,2rem);text-decoration:none;transition:border-color .15s,transform .15s;display:grid}.master-hub-card:hover{border-color:#9fbeb3;transform:translateY(-2px)}.master-hub-card .eyebrow{grid-column:1/-1}.master-hub-card strong{font-size:1.2rem}.master-hub-card p{color:var(--color-muted);grid-column:1/-1;margin:0;line-height:1.7}.master-create{padding:0}.master-create>summary{cursor:pointer;padding:1.25rem clamp(1.25rem,4vw,2rem);font-weight:800}.master-create[open]>summary{border-bottom:1px solid var(--color-border)}.master-create>.master-form{padding:clamp(1.25rem,4vw,2rem)}.master-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.form-field{min-width:0;color:var(--color-ink);align-content:start;gap:.4rem;font-size:.85rem;font-weight:700;display:grid}.form-field-full{grid-column:1/-1}.form-field small{color:var(--color-primary);margin-left:.4rem;font-size:.65rem}.form-field input,.form-field select,.form-field textarea,.search-form input{width:100%;min-height:44px;color:var(--color-ink);background:#fff;border:1px solid #cbd6d0;border-radius:.55rem;padding:.7rem .8rem;font-weight:400}.form-field textarea{resize:vertical;min-height:92px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.search-form input:focus{border-color:var(--color-primary);outline:3px solid #20735d24}.form-actions{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.master-list-panel{padding:0;overflow:hidden}.master-toolbar{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:end;gap:1rem;padding:clamp(1.25rem,4vw,2rem);display:flex}.master-toolbar h2,.master-toolbar .eyebrow{margin-bottom:0}.search-form{align-items:center;gap:.5rem;width:min(560px,100%);display:flex}.search-form input{min-width:100px}.master-empty{color:var(--color-muted);text-align:center;padding:3rem 1.25rem}.master-empty p{margin:0}.master-records{display:grid}.master-record+.master-record{border-top:1px solid var(--color-border)}.master-record>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1.25rem,4vw,2rem);list-style:none;display:flex}.master-record>summary::-webkit-details-marker{display:none}.master-record>summary>span:first-child{gap:.3rem;min-width:0;display:grid}.master-record>summary strong,.master-record>summary small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.master-record>summary small{color:var(--color-muted)}.master-record>summary:before{color:var(--color-primary);content:"＋";font-weight:800}.master-record[open]>summary:before{content:"−"}.master-record.inactive>summary strong{color:var(--color-muted)}.status-muted{color:#66736f;background:#edf0ee}.master-record-body{border-top:1px solid var(--color-border);background:#f9faf8;padding:clamp(1.25rem,4vw,2rem)}.master-record-actions{border-top:1px dashed var(--color-border);flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:.75rem;padding-top:.75rem;display:flex}.master-toggle-form,.master-delete-form{display:flex}.master-delete-help{color:var(--color-muted);text-align:right;margin:.6rem 0 0;font-size:.75rem}.purchase-form{gap:1.5rem;display:grid}.purchase-section{gap:1.25rem;display:grid}.purchase-section .panel-heading{margin-bottom:0}.purchase-lines{gap:1rem;display:grid}.purchase-line{border:1px solid var(--color-border);background:#f9faf8;border-radius:.75rem;overflow:hidden}.purchase-line-heading{border-bottom:1px solid var(--color-border);background:#f0f4f1;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.purchase-line-grid{grid-template-columns:minmax(220px,2fr) repeat(2,minmax(120px,1fr));gap:1rem;padding:1rem;display:grid}.purchase-product-field{grid-column:span 2}.product-help{font-weight:400;color:var(--color-muted)!important;margin:0!important}.checkbox-label{align-items:center;gap:.55rem;min-height:32px;display:flex}.checkbox-label input{width:18px;min-height:18px}.invoice-field{grid-template-columns:minmax(160px,.5fr) 1fr;align-items:center;display:grid}.manual-allocation{background:#fff;border:1px dashed #b8c8c0;border-radius:.65rem;padding:1rem;display:none}.manual-mode .manual-allocation{display:block}.manual-allocation>p{margin-bottom:.75rem;font-size:.82rem;font-weight:800}.manual-allocation-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.manual-allocation-grid label{color:var(--color-muted);gap:.35rem;font-size:.75rem;display:grid}.manual-allocation-grid input{border:1px solid #cbd6d0;border-radius:.5rem;width:100%;min-height:40px;padding:.55rem}.line-calculation{border-top:1px solid var(--color-border);min-height:42px;color:var(--color-primary-dark);background:#f0f7f4;padding:.7rem 1rem;font-size:.8rem;font-weight:700;line-height:1.5}.purchase-summary{background:var(--color-deep);color:#fff;box-shadow:var(--shadow-card);border:1px solid #b7cfc5;border-radius:.9rem;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.purchase-summary>div{gap:.4rem;padding:1.25rem;display:grid}.purchase-summary>div+div{border-left:1px solid #ffffff29}.purchase-summary span{color:#bdcec7;font-size:.78rem}.purchase-summary strong{font-size:clamp(1.15rem,3vw,1.65rem)}.purchase-summary>p{color:#d7e8e1;background:#ffffff12;grid-column:1/-1;margin:0;padding:.8rem 1.25rem;font-size:.82rem}.purchase-summary>p.invalid{color:#ffe0d9;background:#9b2d1f59}.purchase-submit{justify-content:flex-end;align-items:center;gap:1rem;display:flex}.purchase-submit p{color:var(--color-muted);margin:0;font-size:.8rem}.recent-purchases{padding-bottom:0}.purchase-history{margin:0 calc(-1*clamp(1.25rem,4vw,2rem));display:grid}.purchase-history article{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1.25rem,4vw,2rem);display:flex}.purchase-history article>div{gap:.25rem;min-width:0;display:grid}.purchase-history small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.purchase-history article>span{flex:none;font-weight:800}.document-form{display:grid}.document-upload-panel{gap:1.25rem;display:grid}.document-upload-panel .panel-heading{margin-bottom:0}.document-step-heading{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.8rem;display:grid}.document-step-heading>span{color:#fff;background:var(--color-primary);border-radius:50%;place-items:center;width:2rem;height:2rem;font-size:.82rem;font-weight:800;display:grid}.document-step-heading h3,.document-step-heading p{margin:0}.document-step-heading h3{font-size:1rem}.document-step-heading p{color:var(--color-muted);margin-top:.2rem;font-size:.8rem;line-height:1.6}.document-queue+.document-step-heading,.master-form-grid+.document-step-heading{border-top:1px solid var(--color-border);margin-top:.25rem;padding-top:1.25rem}.document-dropzone{text-align:center;cursor:pointer;background:#f7faf8;border:2px dashed #abc1b8;border-radius:.85rem;align-content:center;place-items:center;gap:.45rem;min-height:230px;padding:1.5rem;transition:border-color .15s,background .15s;display:grid}.document-dropzone:hover,.document-dropzone.dragging{border-color:var(--color-primary);background:#edf7f3}.document-dropzone input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.document-dropzone>span,.document-dropzone>small{color:var(--color-muted)}.document-drop-icon{background:var(--color-primary);border-radius:50%;place-items:center;width:46px;height:46px;font-size:1.4rem;font-weight:700;display:grid;color:#fff!important}.document-queue{border:1px solid var(--color-border);border-radius:.75rem;display:grid;overflow:hidden}.document-queue>p{color:var(--color-muted);text-align:center;margin:0;padding:1.25rem}.document-queue article{background:#fff;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.8rem 1rem;display:grid}.document-queue article+article{border-top:1px solid var(--color-border)}.document-queue article>span,.document-type-badge{color:var(--color-primary-dark);background:#e3f2ec;border-radius:.4rem;padding:.3rem .5rem;font-size:.68rem;font-weight:800}.document-queue article>div,.document-list article>div{gap:.2rem;min-width:0;display:grid}.document-queue strong,.document-queue small,.document-list strong,.document-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.document-queue small,.document-list small{color:var(--color-muted)}.document-submit{justify-content:flex-end;align-items:center;gap:1rem;display:flex}.document-submit p{color:var(--color-muted);margin:0;font-size:.82rem}.document-list-panel{padding-bottom:0}.document-list{margin:0 calc(-1*clamp(1.25rem,4vw,2rem));display:grid}.document-list article{border-top:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:1rem clamp(1.25rem,4vw,2rem);display:grid}.inventory-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.inventory-metrics article{border:1px solid var(--color-border);box-shadow:var(--shadow-card);background:#fff;border-radius:.8rem;gap:.4rem;padding:1.15rem 1.25rem;display:grid}.inventory-metrics span{color:var(--color-muted);font-size:.78rem;font-weight:700}.inventory-metrics strong{font-size:clamp(1.25rem,3vw,1.7rem)}.inventory-edit-panel{border-color:#adcabd;gap:1.25rem;scroll-margin-top:1rem;display:grid}.inventory-edit-panel .panel-heading{margin-bottom:0}.inventory-edit-panel .panel-heading p:last-child{color:var(--color-muted);margin:0;font-size:.8rem}.inventory-adjustment-fields{background:#fffaf0;border:1px dashed #c8b587;border-radius:.7rem;margin-top:1.25rem;padding:1rem}.inventory-adjustment-fields>p{color:#705725;margin-bottom:1rem;font-size:.8rem;line-height:1.6}.inventory-history{border-top:1px solid var(--color-border);gap:0;padding-top:1.25rem;display:grid}.inventory-history h3{margin:0 0 .75rem;font-size:1rem}.inventory-history article{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;gap:.25rem 1rem;padding:.75rem 0;display:grid}.inventory-history article>div{gap:.2rem;display:grid}.inventory-history small,.inventory-history p{color:var(--color-muted)}.inventory-history p{grid-column:1/-1;margin:0;font-size:.8rem}.inventory-list-panel{padding:0;overflow:hidden}.inventory-filters{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr));align-items:end;gap:.8rem;padding:clamp(1.25rem,3vw,1.5rem);display:grid}.inventory-check{align-items:center;gap:.5rem;min-height:40px;font-size:.8rem;font-weight:700;display:flex}.inventory-check input{width:18px;height:18px}.inventory-filter-actions{justify-content:flex-end;gap:.5rem;display:flex}.inventory-table-wrap{overflow-x:auto}.inventory-table{border-collapse:collapse;width:100%;min-width:960px}.inventory-table th,.inventory-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:.8rem;font-size:.78rem}.inventory-table th{color:var(--color-muted);letter-spacing:.04em;white-space:nowrap;background:#f7f9f7;font-size:.7rem}.inventory-table td:nth-child(2){max-width:260px}.inventory-table td:nth-child(2) strong,.inventory-table td:nth-child(2) small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.inventory-table td:nth-child(2) small{color:var(--color-muted);margin-top:.2rem}.inventory-money{white-space:nowrap;font-weight:800}.inventory-excluded{opacity:.62}.inventory-cards{display:none}.inventory-card-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.error-page>.empty-state{width:min(580px,100%)}.error-code{margin-bottom:.5rem;font-family:Georgia,serif;font-size:3rem;font-weight:800;color:var(--color-accent)!important}@media (width<=760px){.account-email{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}.page-heading{flex-direction:column;align-items:stretch}.page-heading .button{width:100%}.master-toolbar{flex-direction:column;align-items:stretch}.search-form{flex-wrap:wrap}.search-form input{flex:1 0 100%}.purchase-line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-product-field{grid-column:1/-1}.manual-allocation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-submit{flex-direction:column;align-items:stretch}.purchase-submit .button{width:100%}.document-submit{flex-direction:column;align-items:stretch}.document-submit .button{width:100%}.inventory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-search-field{grid-column:1/-1}}@media (width<=420px){.app-header{min-height:64px}.brand small{display:none}.metric-grid{grid-template-columns:1fr}.nav-link{padding-left:.8rem;padding-right:.8rem}.master-hub-grid,.master-form-grid{grid-template-columns:1fr}.form-field-full{grid-column:auto}.master-record>summary{align-items:start}.master-record>summary .status-badge{display:none}.form-actions .button{width:100%}.purchase-line-grid,.manual-allocation-grid,.purchase-summary{grid-template-columns:1fr}.purchase-product-field{grid-column:auto}.invoice-field{grid-template-columns:1fr}.purchase-summary>div+div{border-top:1px solid #ffffff29;border-left:0}.document-dropzone{min-height:190px}.document-list article{grid-template-columns:auto minmax(0,1fr)}.document-list article .button{grid-column:1/-1;width:100%}.inventory-metrics,.inventory-filters{grid-template-columns:1fr}.inventory-search-field{grid-column:auto}.inventory-filter-actions{justify-content:stretch}.inventory-filter-actions .button{flex:1}.inventory-table-wrap{display:none}.inventory-cards{gap:.8rem;padding:1rem;display:grid}.inventory-cards article{border:1px solid var(--color-border);background:#fff;border-radius:.75rem;gap:.75rem;padding:1rem;display:grid}.inventory-cards h3,.inventory-cards p{margin:0}.inventory-cards p{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.inventory-cards dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0;display:grid}.inventory-cards dl>div{gap:.15rem;display:grid}.inventory-cards dt{color:var(--color-muted);font-size:.68rem}.inventory-cards dd{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8rem;font-weight:700;overflow:hidden}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
