:root{--color-bg: #1a1209;--color-surface: #231508;--color-surface-raised: #3a2009;--color-surface-card: rgba(40,22,5,.95);--color-surface-overlay: rgba(30,16,3,.98);--color-surface-input: rgba(0,0,0,.35);--color-surface-input-active: rgba(200,135,42,.1);--color-text-primary: #f5e8ca;--color-text-secondary: #b89a6a;--color-text-muted: #7a6040;--color-text-faint: #4a3020;--color-text-inverse: #1a1209;--color-accent: #c8872a;--color-accent-bright: #e6a83a;--color-accent-dim: rgba(200,135,42,.25);--color-accent-glow: rgba(200,135,42,.1);--color-accent-subtle: rgba(200,135,42,.07);--color-accent-header: rgba(200,135,42,.14);--color-border: rgba(200,135,42,.22);--color-border-active: #c8872a;--color-border-strong: rgba(200,135,42,.38);--color-border-subtle: rgba(200,135,42,.12);--color-border-row: rgba(255,255,255,.04);--color-danger: #c84040;--color-danger-bg: rgba(180,60,30,.25);--color-danger-border: rgba(180,60,30,.4);--color-numpad-bg: linear-gradient(145deg, rgba(30,15,3,.98), rgba(20,10,2,.99));--color-numpad-btn: rgba(255,255,255,.06);--color-numpad-btn-hover: rgba(200,135,42,.25);--color-numpad-dot: rgba(200,135,42,.15);--gradient-accent: linear-gradient(135deg, #c8872a, #e6a83a);--gradient-accent-text: linear-gradient(135deg, #c8872a, #e6a83a, #c8872a);--gradient-surface: linear-gradient(145deg, rgba(60,35,10,.9), rgba(40,22,5,.95));--gradient-table: linear-gradient(145deg, rgba(40,22,5,.95), rgba(30,16,3,.98));--gradient-total-row: linear-gradient(90deg, rgba(200,135,42,.11), rgba(200,135,42,.04));--texture-wood: repeating-linear-gradient( 90deg, transparent, transparent 2px, rgba(0,0,0,.03) 2px, rgba(0,0,0,.03) 4px ), repeating-linear-gradient( 180deg, transparent, transparent 8px, rgba(0,0,0,.015) 8px, rgba(0,0,0,.015) 16px );--texture-opacity: .6;--shadow-card: 0 8px 32px rgba(0,0,0,.4);--shadow-dropdown: 0 8px 24px rgba(0,0,0,.6);--shadow-sm: 0 2px 8px rgba(0,0,0,.3);--font-display: "Playfair Display", Georgia, serif;--font-body: "Lora", Georgia, serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--text-xs: 10px;--text-sm: 12px;--text-base: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 18px;--space-6: 22px;--space-7: 28px;--space-8: 32px;--radius-sm: 7px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 16px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .4s ease;--z-dropdown: 50;--z-overlay: 100;--z-toast: 200;--max-width: 860px;--page-padding: 16px}[data-theme=light]{--color-bg: #f2e8d4;--color-surface: #fdf6e8;--color-surface-raised: #fff9f0;--color-surface-card: rgba(253,246,232,.97);--color-surface-overlay: rgba(250,242,225,.99);--color-surface-input: rgba(200,160,90,.08);--color-surface-input-active: rgba(176,108,26,.1);--color-text-primary: #2d1a06;--color-text-secondary: #6b4423;--color-text-muted: #9a7048;--color-text-faint: #c4a47a;--color-text-inverse: #fdf6e8;--color-accent: #b06c1a;--color-accent-bright: #d4860f;--color-accent-dim: rgba(176,108,26,.22);--color-accent-glow: rgba(176,108,26,.09);--color-accent-subtle: rgba(176,108,26,.06);--color-accent-header: rgba(176,108,26,.1);--color-border: rgba(160,100,30,.22);--color-border-active: #b06c1a;--color-border-strong: rgba(160,100,30,.4);--color-border-subtle: rgba(160,100,30,.12);--color-border-row: rgba(160,100,30,.06);--color-danger: #b83030;--color-danger-bg: rgba(160,60,30,.12);--color-danger-border: rgba(160,60,30,.3);--color-numpad-bg: linear-gradient(145deg, rgba(253,246,232,.98), rgba(250,242,225,.99));--color-numpad-btn: rgba(160,100,30,.07);--color-numpad-btn-hover: rgba(176,108,26,.18);--color-numpad-dot: rgba(176,108,26,.14);--gradient-accent: linear-gradient(135deg, #b06c1a, #d4860f);--gradient-accent-text: linear-gradient(135deg, #b06c1a, #d4860f, #b06c1a);--gradient-surface: linear-gradient(145deg, rgba(255,249,238,.96), rgba(253,246,232,.98));--gradient-table: linear-gradient(145deg, rgba(253,246,232,.98), rgba(250,242,220,.99));--gradient-total-row: linear-gradient(90deg, rgba(176,108,26,.1), rgba(176,108,26,.03));--texture-wood: repeating-linear-gradient( 90deg, transparent, transparent 2px, rgba(160,100,30,.04) 2px, rgba(160,100,30,.04) 4px ), repeating-linear-gradient( 180deg, transparent, transparent 8px, rgba(160,100,30,.02) 8px, rgba(160,100,30,.02) 16px );--texture-opacity: 1;--shadow-card: 0 8px 32px rgba(100,60,10,.1);--shadow-dropdown: 0 8px 24px rgba(100,60,10,.18);--shadow-sm: 0 2px 8px rgba(100,60,10,.08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;height:100%}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text-primary);min-height:100%;line-height:1.5;transition:background-color var(--transition-slow),color var(--transition-slow);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;position:relative}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text-primary);line-height:1.2}code,pre,.mono{font-family:var(--font-mono)}button{font-family:var(--font-body);cursor:pointer;border:none;background:none;padding:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}[role=button],[role=option],[role=combobox]{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}input,textarea,select{font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-surface-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition-base)}input:focus,textarea:focus{border-color:var(--color-border-active)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-accent-dim);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}::selection{background:var(--color-accent-dim);color:var(--color-text-primary)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes highlight{0%{background:var(--color-accent-dim)}to{background:transparent}}@keyframes spin{to{transform:rotate(360deg)}}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--page-padding)}.text-accent{color:var(--color-accent)}.text-bright{color:var(--color-accent-bright)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-faint{color:var(--color-text-faint)}.text-primary{color:var(--color-text-primary)}.text-danger{color:var(--color-danger)}.text-upper{text-transform:uppercase;letter-spacing:.12em}.text-mono{font-family:var(--font-mono)}.text-display{font-family:var(--font-display)}.label{display:block;font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:var(--space-2);transition:color var(--transition-base)}.label--active{color:var(--color-accent-bright)}.divider{width:60px;height:3px;background:var(--gradient-accent);border-radius:99px;margin-inline:auto}.gradient-text{background:var(--gradient-accent-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.badge{display:inline-flex;align-items:center;background:var(--color-accent-dim);color:var(--color-accent-bright);font-size:8px;font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border-radius:var(--radius-sm)}.card{background:var(--gradient-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-card);transition:background var(--transition-slow),border-color var(--transition-slow)}.form-card{display:flex;flex-direction:column;gap:var(--space-4)}.formula-bar{background:var(--color-accent-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:11px 18px;margin-bottom:var(--space-5);display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-primary);transition:border-color var(--transition-base),background var(--transition-slow)}.empty-state{text-align:center;padding:38px 20px;color:var(--color-text-faint);font-size:var(--text-sm);letter-spacing:.05em;border:1px dashed var(--color-border-subtle);border-radius:var(--radius-lg)}.animate-fadeIn{animation:fadeIn .25s ease both}.animate-slideUp{animation:slideUp .25s ease both}.animate-slideDown{animation:slideDown .2s ease both}.wood-texture{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--texture-wood);opacity:var(--texture-opacity);pointer-events:none;z-index:0}.page{position:relative;z-index:1;min-height:100vh}@media(max-width:600px){:root{--page-padding: 12px;--text-3xl: 24px;--text-2xl: 20px}}.tab-input-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-5);align-items:start}@media(max-width:560px){.tab-input-grid{grid-template-columns:1fr}.tab-input-grid .numpad-col{width:100%}.tab-numpad-mobile{width:100%!important;min-width:unset!important}}.entry-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-xl)}.tab-bar{display:flex;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:5px;gap:4px;margin-bottom:var(--space-6);transition:background var(--transition-slow),border-color var(--transition-slow)}.tab-btn{flex:1;min-width:0;padding:10px 6px;border:none;border-radius:var(--radius-lg);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:.03em;cursor:pointer;transition:background var(--transition-base),color var(--transition-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.tab-btn--active{background:var(--gradient-accent);color:var(--color-text-inverse)}.tab-btn--inactive{background:transparent;color:var(--color-text-muted)}.tab-btn--inactive:hover{background:var(--color-accent-subtle);color:var(--color-text-secondary)}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.tab-panel{display:none}.tab-panel--active{display:block;animation:tabFadeIn .22s ease both}.tab-bar-wrapper{margin-bottom:var(--space-6)}.main-with-bottom-nav{padding-bottom:60px}.summary-strip{display:flex;align-items:center;gap:var(--space-5);padding:8px 16px 10px;border-top:1px solid var(--color-border-subtle);animation:fadeIn .25s ease both;flex-wrap:wrap}.summary-chip{display:flex;align-items:baseline;gap:5px;font-family:var(--font-mono)}.summary-chip__val{font-size:var(--text-md);font-weight:700;color:var(--color-accent-bright)}.summary-chip__unit{font-size:var(--text-xs);color:var(--color-accent);letter-spacing:.06em}.summary-chip__count{font-size:var(--text-xs);color:var(--color-text-faint);font-family:var(--font-body)}.summary-chip__cost{font-size:var(--text-sm);font-weight:700;color:var(--color-text-primary);font-family:var(--font-mono);padding:1px 8px;border-radius:999px;background:var(--color-accent-subtle);border:1px solid var(--color-border-subtle);margin-left:2px}.summary-divider{width:1px;height:18px;background:var(--color-border);flex-shrink:0}.kbd-hint{display:flex;align-items:center;justify-content:center;gap:var(--space-4);flex-wrap:wrap;padding:14px 0 0;margin-top:var(--space-6);border-top:1px solid var(--color-border-subtle)}.kbd-hint__item{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--color-text-faint);letter-spacing:.04em}.kbd-key{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 5px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-bottom-width:2px;border-radius:4px;font-family:var(--font-mono);font-size:10px;color:var(--color-text-secondary);line-height:1}@media(max-width:600px){.tab-bar-wrapper{position:fixed;bottom:var(--keyboard-height, 0px);left:0;right:0;z-index:var(--z-overlay);padding:8px 12px calc(10px + env(safe-area-inset-bottom,0px));background:var(--color-surface);border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);margin-bottom:0;transition:background var(--transition-slow),border-color var(--transition-slow)}.tab-bar{margin-bottom:0}.main-with-bottom-nav{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px) + var(--keyboard-height, 0px))}.kbd-hint{display:none}}html{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.page{min-height:100vh;min-height:100svh}.field-box{min-height:52px;padding:13px 16px;font-size:clamp(17px,4.5vw,22px)}.np-key{padding:clamp(11px,3vw,15px) 0;font-size:clamp(17px,4.5vw,22px)}.np-key--del{font-size:clamp(14px,3.5vw,17px)}.np-clear-btn{padding:clamp(8px,2vw,10px) 0}.np-key:active,.np-clear-btn:active{transform:scale(.93);transition:transform .07s ease}.tab-btn:active{transform:scale(.97);transition:transform .08s ease}@media(hover:none)and (pointer:coarse){.tab-btn--inactive:hover{background:transparent!important;color:var(--color-text-muted)!important}.np-key{min-height:44px}.np-clear-btn{min-height:40px}.field-box{min-height:54px}.card{padding:var(--space-5)}}@media(max-width:375px){:root{--page-padding: 10px;--space-4: 14px;--space-5: 16px;--space-6: 20px;--text-xs: 9px;--text-sm: 11px;--text-base: 13px}.card{padding:12px;gap:10px}.formula-bar{padding:8px 11px;font-size:11px;flex-wrap:wrap}.np-container{padding:10px;gap:5px}.np-row{gap:5px}.np-key{padding:12px 0;font-size:16px}.field-box{padding:10px 12px;font-size:16px;min-height:48px}.summary-strip{gap:10px;padding:6px 10px 8px}.summary-chip__val{font-size:13px}}@media(max-width:560px){.tab-input-grid .np-container{min-width:unset;border-radius:var(--radius-xl);padding:12px;gap:7px}.tab-input-grid .np-row{gap:7px}.tab-input-grid .np-key{padding:15px 0;font-size:22px}.tab-input-grid .np-key--del{font-size:16px;padding:15px 0}.tab-input-grid .np-clear-btn{padding:12px 0;font-size:var(--text-sm)}.field-label{letter-spacing:.09em}.formula-bar{flex-wrap:wrap;gap:6px}.formula-bar code{font-size:11px;line-height:1.5}.form-card{gap:var(--space-3)}.add-button{display:none!important}.summary-strip{padding:7px 13px 9px;gap:14px}@media(min-height:480px){.tab-input-grid .numpad-col{position:sticky;bottom:calc(84px + env(safe-area-inset-bottom,0px) + var(--keyboard-height, 0px));z-index:var(--z-dropdown);padding-bottom:var(--space-2)}}.entry-table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.empty-state{padding:28px 14px;font-size:var(--text-xs)}}@media(max-width:560px)and (max-height:600px){.preview-bar{display:none!important}}@media(max-width:768px){.kbd-hint{gap:var(--space-3)}.kbd-hint__item{font-size:10px}}@media(max-height:520px)and (orientation:landscape){.tab-input-grid{grid-template-columns:minmax(0,1fr) auto!important}header .container{padding-top:8px!important;padding-bottom:8px!important}.np-key{padding:9px 0!important;font-size:16px!important}.main-with-bottom-nav{padding-top:14px!important}.tab-bar-wrapper{padding-top:5px!important;padding-bottom:6px!important}.tab-btn{padding:7px 12px!important}}@media(min-width:769px)and (max-width:1024px){.tab-input-grid{gap:var(--space-6)}}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.card,.np-container,.field-box{border-width:.5px}}@media print{@page{size:A4 portrait;margin:18mm 14mm 14mm}*,*:before,*:after{color-adjust:exact!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body,.page,.app-root,main{background:#fff!important;color:#111!important;font-size:11pt}.wood-texture,header,.tab-bar-wrapper,.tab-panel:not(.tab-panel--active),.tab-input-grid,.formula-bar,.export-bar,.kbd-hint,.empty-state,button.del-btn,button[aria-label="Delete row"]{display:none!important}.print-header{display:block!important;margin-bottom:16pt;padding-bottom:10pt;border-bottom:2pt solid #c8872a}.print-header__logo{font-family:Georgia,serif;font-size:20pt;font-weight:700;color:#c8872a!important;letter-spacing:-.01em;display:flex;align-items:center;gap:8pt;margin-bottom:3pt}.print-header__subtitle{font-family:Georgia,serif;font-size:11pt;color:#555!important;display:flex;gap:14pt}.entry-table-wrap{overflow:visible!important;mask-image:none!important;-webkit-mask-image:none!important;border:1pt solid #ddd!important;border-radius:4pt!important}[style*=color-accent-header],[style*=gradient-table]{background:#f5e8d0!important}.tab-panel--active{display:block!important}.entry-table-wrap{page-break-inside:avoid}.main-with-bottom-nav{padding-bottom:0!important}}
