@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2) format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2) format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2) format("woff2"),url(/assets/poppins-latin-700-normal-BVuQR_eA.woff) format("woff")}:root{font-family:Poppins,sans-serif;color:#1f1f1f;background:#f8f9fd;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--blue: #5a81fa;--blue-dark: #2c3d8f;--ink: #1f1f1f;--muted: #6a6e83;--line: #dee3f1;--input-line: #7a8198;--wash: #f2f5ff;--selected: #cddeff;--page: #f8f9fd;--white: #fff;--danger: #ac2537;--danger-wash: #fff2f3;--success: #206449;--success-wash: #edf7f1;--radius-control: 12px;--radius-panel: 16px;--space-page: 40px;--font-body: 14px;--font-caption: 13px}*{box-sizing:border-box}body{margin:0;min-width:320px;font-size:var(--font-body);line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button,input,select,textarea,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.type-option:has(input:focus-visible){outline:3px solid var(--blue-dark);outline-offset:3px}button:hover:not(:disabled){filter:brightness(.96)}button:active:not(:disabled){filter:brightness(.9)}h1,h2,h3,p,dl,dd,fieldset{margin:0}h1{font-size:28px;line-height:1.2}h2{font-size:18px}h3{font-size:16px}fieldset{padding:0;border:0;min-width:0}strong{font-weight:700}svg{flex-shrink:0;stroke-width:2}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;z-index:20;top:8px;left:12px;transform:translateY(-160%);background:var(--white);color:var(--blue-dark);padding:12px 20px;border-radius:var(--radius-control)}.skip-link:focus{transform:none}.muted{color:var(--muted)}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-panel)}.auth-screen{min-height:100dvh}.auth-main{min-height:calc(100dvh - 80px);display:flex;align-items:center;justify-content:center;padding:var(--space-page)}.auth-panel{width:440px;max-width:100%;padding:32px;display:flex;flex-direction:column;gap:24px}.auth-heading{display:flex;flex-direction:column;gap:12px}.auth-heading p{line-height:1.6}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-form>p{font-size:var(--font-caption)}.auth-actions{display:flex;flex-wrap:wrap;gap:12px}.account-bar,.account-bar>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.account-bar{margin-bottom:24px;font-size:var(--font-caption)}.account-bar>div{flex-wrap:wrap}.account-bar .button{padding:8px 12px}.transaction-form-fields{display:contents}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:10px 24px;font-weight:500;text-decoration:none;line-height:1.4}.button-primary{background:var(--blue-dark);color:var(--white)}.button-outline{border-color:var(--blue-dark);color:var(--blue-dark);background:var(--white);border-radius:var(--radius-control)}.button-ghost{color:var(--blue-dark);background:transparent}.button:disabled{background:var(--line);color:var(--muted);border-color:var(--line)}.icon-button{width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted);border-radius:10px;flex-shrink:0}.app-header{height:80px;background:var(--white);border-bottom:1px solid var(--line)}.header-content{max-width:1440px;padding:0 var(--space-page);height:100%;display:flex;align-items:center;justify-content:space-between;margin:auto}.brand{display:flex;align-items:center;gap:16px}.brand strong{font-size:20px}.brand>span{border-left:1px solid var(--line);color:var(--muted);padding-left:16px}nav{display:flex;gap:8px}nav button{min-height:48px;display:flex;align-items:center;gap:8px;padding:10px 24px;border:0;border-radius:999px;background:transparent;color:var(--muted)}nav button[aria-current]{background:var(--wash);color:var(--blue-dark);font-weight:500}nav button[aria-current] svg{color:var(--blue)}.main-content{max-width:1440px;margin:auto;padding:32px var(--space-page) 40px}.main-content:focus{outline:none}.page-heading{display:flex;flex-direction:column;gap:8px}.page-heading>p{color:var(--muted)}.stock-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:24px}.storage-status{display:flex;align-items:center;gap:8px;font-size:var(--font-caption);color:var(--success)}.sample-label{color:var(--muted);font-size:var(--font-caption);margin-left:8px}.stock-summary{display:flex;align-items:center;gap:32px;background:var(--wash);border-radius:var(--radius-panel);padding:20px 28px;flex-shrink:0}.summary-label{display:block;color:var(--blue-dark);font-weight:500;margin-bottom:4px}.stock-summary>div>p{display:flex;align-items:baseline;gap:8px}.stock-summary strong{font-size:36px;line-height:1.2;font-variant-numeric:tabular-nums}.stock-summary p>span,.summary-meta{color:var(--muted)}.stock-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.stock-search{width:420px;max-width:100%}.search-field{min-height:48px;display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--input-line);border-radius:var(--radius-control);padding:0 12px 0 16px;color:var(--muted)}.search-field input{min-width:0;flex:1;width:100%;border:0;padding:10px 0;background:transparent;color:var(--ink)}.search-field input::-webkit-search-cancel-button{display:none}.search-field:focus-within{outline:2px solid var(--blue-dark);outline-offset:2px}.search-field input:focus-visible{outline:none}.search-field input::placeholder{color:var(--muted);opacity:1}.result-count{font-size:var(--font-caption);margin-bottom:12px}.stock-table-wrapper{width:100%;overflow-x:auto}.stock-table{border-collapse:separate;border-spacing:0;width:100%;text-align:right;font-variant-numeric:tabular-nums}.stock-table th,.stock-table td{padding:10px 24px;white-space:nowrap}.stock-table th:first-child{text-align:left;width:52%}.stock-table thead th{font-size:var(--font-caption);color:var(--muted);font-weight:400;padding-top:12px;padding-bottom:12px;background:var(--wash)}.stock-table thead th:first-child{border-top-left-radius:15px}.stock-table thead th:last-child{border-top-right-radius:15px;color:var(--blue-dark);font-weight:500}.stock-table tbody th{font-weight:500}.stock-table tbody th,.stock-table tbody td{border-bottom:1px solid var(--line)}.stock-table tfoot th,.stock-table tfoot td{padding-top:16px;padding-bottom:16px;color:var(--blue-dark);background:var(--wash);font-weight:700}.stock-table tfoot th:first-child{border-bottom-left-radius:15px}.stock-table tfoot td:last-child{border-bottom-right-radius:15px}.stock-cards,.mobile-brand,.mobile-search-label,.mobile-title,.mobile-new,.mobile-back,.mobile-add,.mobile-item-heading,.compact-item{display:none}.transactions-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.transactions-heading .page-heading>div{display:flex;flex-direction:column;gap:8px}.transactions-heading .desktop-description{color:var(--muted)}.transaction-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:24px}.transaction-workspace{min-width:0}.transaction-form{padding:24px;display:flex;flex-direction:column;gap:20px}.desktop-form-title{margin-bottom:2px}.type-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:6px;border-radius:var(--radius-panel);background:var(--wash)}.type-option{position:relative;min-height:46px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-control);color:var(--muted);cursor:pointer;padding:8px;font-weight:500;text-align:center}.type-option input{position:absolute;opacity:0;width:1px;height:1px}.type-option.selected{background:var(--blue-dark);color:var(--white)}.type-option:hover:not(.selected){background:var(--selected);color:var(--blue-dark)}.metadata-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field>label,.option-dialog label{font-weight:500}input:not([type=radio]),select,textarea{max-width:100%}.field>input,.field select,.field textarea,.option-dialog input{width:100%;min-width:0;min-height:48px;border:1px solid var(--input-line);background:var(--white);border-radius:var(--radius-control);padding:11px 12px}.select-wrap{position:relative}.select-wrap select{appearance:none;padding-right:32px;cursor:pointer}.select-wrap>svg{position:absolute;right:12px;top:16px;pointer-events:none;color:var(--muted)}.field textarea{resize:vertical;min-height:72px}.field input[aria-invalid=true]{border-color:var(--danger);color:var(--danger);background:var(--danger-wash)}.items-heading{display:flex;justify-content:space-between;align-items:center}.desktop-item-labels,.item-fields{display:grid;grid-template-columns:minmax(0,1fr) 115px 110px 36px;gap:12px;align-items:center}.desktop-item-labels{font-size:var(--font-caption);color:var(--muted);margin-bottom:-10px}.item-fields .field>label{display:none}.item-fields .icon-button{width:36px}.transaction-items{display:flex;flex-direction:column;gap:16px}.item-row{display:flex;flex-direction:column;gap:8px}.available-stock,.balance-preview,.row-error{font-size:var(--font-caption)}.balance-preview{color:var(--blue-dark);background:var(--wash);padding:10px 12px;border-radius:10px}.row-error{background:var(--danger-wash);color:var(--danger);padding:12px;border-radius:var(--radius-control)}.form-footer{border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column;gap:12px}.save-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.save-row>div{display:flex;flex-direction:column;gap:2px}.save-row strong{font-size:18px}.save-row small{font-size:var(--font-caption);color:var(--muted)}.form-footer>p{font-size:var(--font-caption)}.error-text{color:var(--danger)}.message{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:var(--radius-panel)}.message>svg{margin-top:2px}.message>div{min-width:0;flex:1}.message strong{font-weight:500}.message p{margin-top:4px;font-size:var(--font-caption)}.message-error{color:var(--danger);background:var(--danger-wash)}.message-success{color:var(--success);background:var(--success-wash)}.message .icon-button{color:inherit;margin:-8px}.storage-warning{margin-bottom:24px}.history{display:flex;flex-direction:column;gap:16px;min-width:0}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.history-heading>span{font-size:var(--font-caption)}.history-entry{display:flex;flex-direction:column;gap:12px}.history-date{font-size:var(--font-caption)}.history-card{padding:20px;text-align:left;display:flex;flex-direction:column;gap:16px;width:100%}.history-selected{border-color:var(--blue)}.history-kind,.history-amount{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-kind{color:var(--blue-dark);font-weight:500}.history-amount{flex-wrap:wrap}.history-amount strong{font-size:22px}.history-amount strong:first-child:not(:only-child){font-size:18px}.history-card>p{font-size:var(--font-caption);overflow-wrap:anywhere}.history-link{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--blue-dark);font-size:var(--font-caption);padding-top:12px;border-top:1px solid var(--line);width:100%}.history-help{padding:20px;border-radius:var(--radius-panel);background:var(--wash);color:var(--muted);font-size:var(--font-caption)}.badge{font-size:var(--font-caption);background:var(--wash);color:var(--blue-dark);padding:4px 12px;border-radius:999px;font-weight:400}.transaction-detail{padding:24px;display:flex;flex-direction:column;gap:24px}.detail-type{display:flex;justify-content:space-between;align-items:center;color:var(--blue-dark)}.detail-type>strong{font-size:24px;color:var(--ink)}.detail-metadata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.detail-metadata dt,.detail-note>span{color:var(--muted);font-size:var(--font-caption);margin-bottom:4px}.detail-metadata dd{font-weight:500}.detail-items h3{padding:16px 16px 0;font-size:14px}.detail-item{padding:16px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line)}.detail-item:last-child{border-bottom:0}.detail-item>div{display:flex;justify-content:space-between;gap:16px}.detail-item strong:first-child{font-weight:500}.detail-item strong:last-child{white-space:nowrap}.detail-item>p{font-size:var(--font-caption)}.detail-balance{border-radius:8px;background:var(--wash);padding:10px;font-size:var(--font-caption)}.detail-balance strong{color:var(--blue-dark)}.detail-note p{margin-top:4px;overflow-wrap:anywhere;white-space:pre-wrap}.detail-actions{display:flex;flex-direction:column;gap:4px}.empty-state{padding:28px 24px;display:flex;align-items:center;flex-direction:column;gap:16px;text-align:center;margin-bottom:20px}.empty-state h2{font-size:20px}.empty-state p{color:var(--muted);max-width:440px}.empty-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--wash);border-radius:var(--radius-panel);color:var(--blue-dark)}.option-dialog{width:350px;max-width:calc(100vw - 32px);border:1px solid var(--line);border-radius:var(--radius-panel);padding:20px;background:var(--white);color:var(--ink);box-shadow:0 8px 32px #2c3d8f1a}.option-dialog::backdrop{background:#1f1f1f55}.option-dialog form{display:flex;flex-direction:column;gap:16px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.dialog-heading h2{font-size:18px}.dialog-heading .icon-button{margin:-8px}.option-dialog p{font-size:var(--font-caption)}@media(min-width:960px)and (max-width:1120px){.transaction-layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.desktop-item-labels,.item-fields{grid-template-columns:minmax(0,1fr) 96px 90px 32px;gap:8px}.transaction-form{padding:20px}}@media(max-width:959px){:root{--space-page: 24px}.transaction-layout{grid-template-columns:minmax(0,1fr)}.history{margin-top:16px}.stock-table-wrapper{display:none}.stock-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.stock-card{padding:16px}.stock-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.stock-card-heading h2{font-size:16px}.stock-card-heading>div{text-align:right;flex-shrink:0}.stock-card-heading strong{font-size:20px;display:block;line-height:1.2;font-variant-numeric:tabular-nums}.stock-card-heading span{display:block;color:var(--muted);font-size:var(--font-caption);margin-top:4px}.stock-card dl{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px}.stock-card dl>div{display:flex;justify-content:space-between;gap:16px}.stock-card dt{color:var(--muted)}.stock-card dd{font-variant-numeric:tabular-nums}.stock-summary{gap:20px;padding:20px}.stock-heading{align-items:stretch}}@media(max-width:639px){body:has(.auth-screen){padding-bottom:0}.auth-screen .app-header{height:80px;border-bottom:1px solid var(--line)}.auth-screen .header-content{display:flex;padding:0 20px}.auth-screen .brand{display:flex!important;gap:12px}.auth-screen .brand>span{display:block;padding-left:12px}.auth-screen .brand strong{font-size:18px}.auth-main{align-items:flex-start;padding:32px 20px}.auth-panel{padding:20px}.auth-panel h1{font-size:24px}.account-bar{align-items:flex-start;gap:8px}.account-bar>div{gap:0;justify-content:flex-end}:root{--space-page: 20px}body{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}.main-content{padding-top:24px;padding-bottom:24px}.app-header{height:0;border:0}.header-content{padding:0}.brand,.desktop-description,.desktop-create,.desktop-form-title,.desktop-item-labels,.desktop-delete,.desktop-add,.desktop-title,.desktop-new{display:none!important}nav{position:fixed;z-index:5;bottom:0;left:0;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-top:1px solid var(--line);background:var(--white);padding:8px 20px calc(16px + env(safe-area-inset-bottom,0px))}nav button{flex-direction:column;justify-content:center;gap:4px;padding:8px;min-height:52px;border-radius:var(--radius-panel);font-size:var(--font-caption)}.mobile-brand{display:block;color:var(--muted);font-size:var(--font-caption);margin-bottom:4px}h1{font-size:26px}.stock-heading{flex-direction:column;gap:24px;margin-bottom:20px}.stock-heading .page-heading{position:relative;gap:0}.storage-status{margin-top:12px;flex-wrap:wrap;font-size:12px}.sample-label{font-size:12px}.stock-summary{padding:20px;justify-content:space-between}.stock-summary strong{font-size:32px}.summary-meta{font-size:var(--font-caption);text-align:right}.stock-toolbar{margin-bottom:16px}.stock-search{width:100%}.mobile-search-label{display:block;font-weight:500;margin-bottom:8px}.stock-cards{grid-template-columns:minmax(0,1fr);gap:12px}.stock-card-heading{min-height:44px}.search-field input{font-size:16px}.transactions-heading{margin-bottom:20px;align-items:flex-start}.transactions-heading>.sample-label{margin:5px 0 0;white-space:nowrap}.mobile-title{display:inline}.mobile-new{display:flex;width:100%;margin-bottom:24px}.transaction-layout{display:block}.transactions-page:not(.show-form):not(.show-detail) .transaction-workspace{display:none}.show-form .history,.show-detail .history,.show-form .mobile-new,.show-detail .mobile-new{display:none}.focus-view nav{display:none}.focus-view .transactions-heading>.sample-label{display:none}.focus-view .transactions-heading .page-heading{display:flex;flex-direction:row;align-items:center;gap:8px}.focus-view h1{font-size:22px;line-height:1.3}.focus-view .mobile-brand{font-size:12px}.mobile-back{display:inline-flex;color:var(--blue-dark);margin-left:-6px}.transaction-form{background:transparent;border:0;padding:0;gap:20px}.type-picker{padding:4px;gap:4px}.type-option{padding:8px 4px;font-size:var(--font-caption)}.metadata-fields{gap:12px}.metadata-fields input,.metadata-fields select{font-size:16px;min-height:48px}.field>input,.field select,.field textarea{font-size:16px}.metadata-fields input[type=date]{font-size:16px;padding:10px}.items-heading{display:none}.transaction-items{gap:12px}.item-row{padding:12px 16px 16px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-panel);gap:12px}.mobile-item-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:0}.mobile-item-heading .icon-button{margin-right:-8px}.item-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.variant-field{grid-column:1 / -1}.item-fields .field>label{display:block;font-size:var(--font-caption)}.field{gap:6px}.compact-item{display:none}.item-row.collapsed{padding:16px}.collapsed>:not(.compact-item):not(legend){display:none}.collapsed .compact-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:transparent;padding:0;min-height:48px}.compact-item>span{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.compact-item>span>strong{font-weight:500}.compact-item small{color:var(--muted);font-size:12px}.compact-item>strong{color:var(--blue-dark);white-space:nowrap}.row-error,.balance-preview{padding:12px}.form-footer{position:sticky;bottom:0;z-index:4;margin:0 -20px -24px;padding:12px 20px calc(20px + env(safe-area-inset-bottom,0px));background:var(--white);gap:12px;box-shadow:0 -4px 16px #2c3d8f08}.mobile-add{display:flex;width:100%;min-height:44px}.save-row>.button{padding:10px 24px}.form-footer>p{font-size:12px}.transaction-form .note-field{margin-bottom:4px}.focus-view{padding-bottom:0}body:has(.focus-view){padding-bottom:0}.history{margin-top:0}.history-card{padding:16px;gap:12px}.history-help{display:none}.transaction-detail{background:transparent;border:0;padding:0;gap:24px}.detail-actions{padding-top:16px;border-top:1px solid var(--line)}.detail-actions .button{width:100%}.option-dialog input{font-size:16px}.empty-state .button{width:100%}}@media(prefers-reduced-motion:no-preference){.button,nav button{transition:background-color .15s,filter .15s}}
