:root { --ink:#102d29; --ink-2:#1b4540; --paper:#f6f4ee; --cream:#fcfbf8; --line:#e6e2d8; --muted:#72807b; --green:#1d7664; --mint:#dff1e8; --gold:#bf8b39; --gold-soft:#f7ecd6; --red:#b24e45; --shadow:0 12px 32px rgba(25,49,43,.08); }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",system-ui,sans-serif; font-size:14px; }
button,input,select { font:inherit; }
button { cursor:pointer; }
.app-shell { min-height:100vh; display:grid; grid-template-columns:248px 1fr; }
.sidebar { background:var(--ink); color:#eff5f0; padding:27px 10px 19px 17px; display:flex; flex-direction:column; min-height:100vh; position:sticky; top:0; height:100vh; overflow:hidden; }
.brand { display:flex; align-items:center; gap:10px; font-size:22px; letter-spacing:4px; font-weight:700; padding:0 9px; flex:0 0 auto; }
.brand-mark { width:32px; height:32px; display:block; overflow:hidden; flex:0 0 32px; border-radius:9px; background:#ff9d00; box-shadow:0 2px 7px rgba(0,0,0,.18); }
.brand-mark img { display:block; width:auto; max-width:none; height:46px; transform:translate(-4px,-5px); }
.sidebar-brand { width:205px; height:44px; padding:0; gap:0; letter-spacing:0; }
.sidebar-brand-lockup { display:block; width:205px; height:44px; object-fit:contain; object-position:left center; }
.brand-subtitle { color:#9fbbb4; font:10px "DM Mono",monospace; letter-spacing:1.4px; margin:12px 10px 34px; flex:0 0 auto; }
.nav { display:flex; flex:1 1 auto; min-height:0; flex-direction:column; gap:6px; margin:4px 0 0; padding:0 8px 2px 0; overflow-y:scroll; overflow-x:hidden; overscroll-behavior:contain; scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:#64877f rgba(255,255,255,.08); }
.nav::-webkit-scrollbar { width:8px; }.nav::-webkit-scrollbar-track { background:rgba(255,255,255,.07); border-radius:8px; }.nav::-webkit-scrollbar-thumb { background:#64877f; border:2px solid var(--ink); border-radius:8px; }.nav::-webkit-scrollbar-thumb:hover { background:#91aea7; }
.nav-label { color:#77958e; font:10px "DM Mono",monospace; letter-spacing:1.2px; margin:23px 10px 5px; }
.nav-item { background:transparent; border:0; color:#b9cbc6; text-align:left; padding:11px 10px; border-radius:7px; transition:.15s; font-weight:500; }
.nav-item span { display:inline-block; width:24px; font-size:17px; color:#8eaaa3; }
.nav-item:hover,.nav-item.active { color:white; background:rgba(214,239,227,.12); }
.nav-item.active span { color:#e4bf75; }
.nav-group { border:1px solid rgba(214,239,227,.08); border-radius:8px; overflow:hidden; background:rgba(0,0,0,.06); flex:0 0 auto; }
.nav-group-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px; border:0; background:transparent; color:#a9c0ba; padding:10px 10px 9px; text-align:left; font:600 11px "DM Mono",monospace; letter-spacing:.8px; text-transform:uppercase; transition:.15s; list-style:none; }
.nav-group-toggle::-webkit-details-marker { display:none; }
.nav-group-toggle:hover,.nav-group.has-active .nav-group-toggle { color:#f2f7f4; background:rgba(214,239,227,.09); }
.nav-group-meta { display:flex; align-items:center; gap:7px; color:#77958e; font-size:10px; letter-spacing:0; }
.nav-group-meta i { display:inline-block; font-family:Arial,sans-serif; font-size:14px; font-style:normal; line-height:1; transition:transform .18s ease; }
.nav-group[open] .nav-group-meta i { transform:rotate(180deg); }
.nav-tree { display:grid; gap:3px; margin:2px 8px 8px 13px; padding:3px 0 3px 7px; border-left:1px solid rgba(214,239,227,.16); }
.nav-tree .nav-item { padding:8px 8px; font-size:13px; }
.nav-tree .nav-item span { width:22px; font-size:15px; }
.sidebar-footer { flex:0 0 auto; margin-top:10px; padding:15px 10px 3px; color:#b2c6c0; font-size:12px; line-height:1.6; border-top:1px solid rgba(255,255,255,.12); }
.sidebar-footer small { color:#718f87; }.pulse { display:inline-block; background:#69c39e; width:7px; height:7px; border-radius:50%; margin-right:5px; }
.main { min-width:0; }.topbar { min-height:109px; border-bottom:1px solid var(--line); padding:25px 42px 19px; display:flex; align-items:center; justify-content:space-between; background:rgba(252,251,248,.65); }
.breadcrumb { margin:0 0 6px; color:#809089; font:10px "DM Mono",monospace; letter-spacing:1.1px; }.breadcrumb span { color:var(--green); }
h1 { margin:0; font:600 28px "Playfair Display",Georgia,serif; letter-spacing:-.5px; }.today { color:var(--muted); font-size:12px; margin-right:17px; }.user-button { border:1px solid var(--line); background:white; border-radius:20px; padding:7px 10px 7px 12px; color:var(--ink); font-size:12px; font-weight:700; }.user-button span { margin-left:5px; color:var(--muted); }.mobile-menu { display:none; }
.view-root { padding:32px 42px 52px; max-width:1480px; }.view-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:23px; }.view-heading h2 { margin:0; font:600 21px "Playfair Display",serif; }.view-heading p { color:var(--muted); margin:6px 0 0; }.primary { background:var(--green); border:1px solid var(--green); color:white; padding:10px 15px; border-radius:7px; font-weight:600; box-shadow:0 4px 12px rgba(29,118,100,.18); }.primary:hover { background:#155f51; }.secondary { background:white; color:var(--ink); border:1px solid var(--line); padding:9px 13px; border-radius:7px; font-weight:600; }.secondary:hover { background:#faf9f5; }
.stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }.stat { background:var(--cream); border:1px solid var(--line); padding:18px 18px 16px; border-radius:10px; min-height:129px; }.stat .label { color:var(--muted); font-size:12px; }.stat .value { font:600 27px "Playfair Display",serif; margin-top:13px; letter-spacing:-.6px; }.stat .detail { color:var(--green); margin-top:7px; font:11px "DM Mono",monospace; }.stat.alert .detail { color:var(--gold); }
.dashboard-grid { display:grid; grid-template-columns:1.5fr .9fr; gap:17px; margin-top:17px; }.panel { background:var(--cream); border:1px solid var(--line); border-radius:10px; box-shadow:0 2px 7px rgba(25,49,43,.025); }.panel-head { padding:18px 19px 14px; display:flex; align-items:flex-start; justify-content:space-between; border-bottom:1px solid var(--line); }.panel h3 { font-size:14px; margin:0; }.panel-head p { color:var(--muted); font-size:12px; margin:5px 0 0; }.link-button { background:none; border:0; color:var(--green); padding:0; font-weight:600; font-size:12px; }.activity { padding:0 19px; }.activity-row { display:grid; grid-template-columns:30px 1fr auto; align-items:center; padding:15px 0; border-bottom:1px solid var(--line); }.activity-row:last-child { border:0; }.activity-icon { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:var(--mint); color:var(--green); font-size:12px; }.activity-title { font-weight:600; }.activity-caption { color:var(--muted); font-size:12px; margin-top:2px; }.activity-value { font-family:"DM Mono",monospace; font-size:12px; font-weight:500; }
.control-card { padding:19px; }.price-big { font:600 31px "Playfair Display",serif; margin:10px 0 3px; }.price-note { color:var(--muted); font-size:12px; }.metric-line { display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:13px; margin-top:18px; color:var(--muted); }.metric-line strong { color:var(--ink); font-family:"DM Mono",monospace; font-size:12px; }.tip { margin:15px 19px 19px; padding:13px; background:var(--gold-soft); border-radius:7px; color:#705222; font-size:12px; line-height:1.55; }
.table-wrap { background:var(--cream); border:1px solid var(--line); border-radius:10px; overflow:auto; }.data-table { width:100%; border-collapse:collapse; min-width:720px; }.data-table th { color:#84918b; text-align:left; padding:12px 16px; font:10px "DM Mono",monospace; letter-spacing:.6px; border-bottom:1px solid var(--line); background:#faf9f6; }.data-table td { padding:13px 16px; border-bottom:1px solid var(--line); vertical-align:middle; }.data-table tr:last-child td { border:0; }.data-table tbody tr:hover { background:#fbfcfa; }.data-table tfoot td { background:#faf9f6; border-top:1px solid var(--line); }.mono { font:12px "DM Mono",monospace; }.sub { color:var(--muted); font-size:12px; margin-top:3px; }.text-success { color:#146753 !important; font-weight:600; }.positive-variance { color:#146753; }.negative-variance { color:#a2483c; }.badge { display:inline-block; padding:4px 8px; border-radius:12px; font-size:11px; font-weight:600; }.badge.green { color:#146753; background:#dff2e9; }.badge.gold { color:#89601d; background:#f8efd9; }.badge.red { color:#934138; background:#f8e4e1; }.row-actions { display:flex; gap:7px; }.small-button { border:1px solid var(--line); color:var(--green); background:white; padding:5px 8px; border-radius:5px; font-size:11px; font-weight:600; }.small-button:hover { background:var(--mint); }
.data-explorer { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin:0 0 12px; }.explorer-search { display:flex; align-items:center; gap:7px; min-width:260px; flex:1 1 300px; max-width:420px; border:1px solid #dcded5; border-radius:7px; background:white; padding:0 10px; color:var(--muted); }.explorer-search input { width:100%; border:0; outline:0; padding:9px 0; color:var(--ink); background:transparent; }.explorer-filter { border:1px solid #dcded5; border-radius:7px; background:white; color:var(--ink); padding:9px 10px; max-width:190px; }.explorer-count { color:var(--muted); font:11px "DM Mono",monospace; white-space:nowrap; margin-left:auto; }.explorer-actions { display:flex; gap:7px; }.compact { padding:8px 10px; font-size:12px; white-space:nowrap; }.explorer-empty { color:var(--muted); font-size:12px; margin:0 0 11px; }.section-title { margin:25px 0 12px; }.section-title h3 { margin:0; font-size:15px; }.section-title p { color:var(--muted); margin:5px 0 0; font-size:12px; }.panel-body { padding:17px 18px 18px; }
.production-inputs-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:20px 0 9px; }.production-inputs-head strong { font-size:12px; color:#5d6d66; }.production-inputs { display:grid; gap:8px; }.production-input-row { display:grid; grid-template-columns:minmax(260px,2fr) minmax(150px,.65fr) auto; gap:9px; }.production-output-row { display:grid; grid-template-columns:minmax(190px,1.5fr) minmax(105px,.6fr) minmax(105px,.6fr) minmax(135px,.7fr) auto; gap:9px; }.production-input-row select,.production-input-row input,.production-output-row select,.production-output-row input { width:100%; border:1px solid #dcded5; background:white; border-radius:6px; padding:9px 10px; outline:none; color:var(--ink); }.production-input-row select:focus,.production-input-row input:focus,.production-output-row select:focus,.production-output-row input:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(29,118,100,.1); }
.form-card { background:var(--cream); border:1px solid var(--line); border-radius:10px; padding:20px; margin-bottom:20px; }.form-card h3 { margin:0; font-size:15px; }.form-card > p { color:var(--muted); margin:5px 0 18px; font-size:12px; }.form-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }.form-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }.field { display:flex; flex-direction:column; gap:6px; }.field label { color:#5d6d66; font-size:11px; font-weight:600; }.field input,.field select { width:100%; border:1px solid #dcded5; background:white; border-radius:6px; padding:9px 10px; outline:none; color:var(--ink); }.field input:focus,.field select:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(29,118,100,.1); }.form-footer { display:flex; justify-content:flex-end; align-items:center; gap:11px; margin-top:18px; }.calc-preview { background:#eff6f2; border:1px solid #d7ebe0; color:var(--green); padding:10px 12px; border-radius:6px; font:12px "DM Mono",monospace; margin-right:auto; }
.check-list-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; padding:10px 12px; background:#f3f3ed; border:1px solid var(--line); border-bottom:0; border-radius:8px 8px 0 0; font-size:12px; }.check-list { max-height:300px; overflow:auto; border:1px solid var(--line); border-radius:0 0 8px 8px; background:white; }.check-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; align-items:start; padding:11px 12px; border-bottom:1px solid #ecece5; cursor:pointer; font-size:12px; }.check-row:last-child { border-bottom:0; }.check-row input { margin-top:3px; }.check-row span { min-width:0; }.check-row small { display:block; color:var(--muted); margin-top:3px; }.check-row b { color:var(--green); white-space:nowrap; font-family:"DM Mono",monospace; }.check-option { display:flex; align-items:flex-start; gap:9px; padding:11px 12px; border-bottom:1px solid #ecece5; color:var(--ink); font-size:12px; line-height:1.4; cursor:pointer; }.check-option:last-child { border-bottom:0; }.check-option input { margin-top:2px; accent-color:var(--green); }
.closing-checklist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:17px; }.closing-check { display:flex; align-items:flex-start; gap:9px; padding:11px; border:1px solid var(--line); background:white; border-radius:7px; font-size:12px; }.closing-check .badge { flex:none; }.closing-check strong { display:block; }.closing-check small { display:block; color:var(--muted); line-height:1.4; margin-top:3px; }
@media (max-width:760px) { .closing-checklist { grid-template-columns:1fr; } }
.advance-allocation-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:20px 0 8px; }.advance-allocation-head strong { font-size:13px; }.advance-allocation-head span { color:var(--muted); font-size:12px; }.advance-allocation-rows { display:grid; gap:8px; }.advance-allocation-row { display:grid; grid-template-columns:minmax(240px,2fr) minmax(150px,.7fr) minmax(120px,.55fr) auto; gap:8px; align-items:center; }.advance-allocation-row select,.advance-allocation-row input { width:100%; min-width:0; border:1px solid #dcded5; background:white; border-radius:6px; padding:9px 10px; outline:none; color:var(--ink); }.advance-allocation-row select:focus,.advance-allocation-row input:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(29,118,100,.1); }.advance-allocation-balance { color:var(--muted); font:11px "DM Mono",monospace; }
.empty { padding:46px 24px; text-align:center; color:var(--muted); }.trace-card { padding:18px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:1fr auto; gap:14px; }.trace-card:last-child { border:0; }.trace-id { font:600 14px "DM Mono",monospace; }.trace-meta { display:flex; flex-wrap:wrap; gap:13px; color:var(--muted); font-size:12px; margin-top:8px; }.trace-chain { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:14px 18px; background:#f7faf8; border-bottom:1px solid var(--line); color:var(--muted); font-size:12px; }.trace-chain strong { color:var(--ink); }.arrow { color:var(--green); }
.stock-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.stock-card { background:var(--cream); border:1px solid var(--line); border-radius:10px; padding:18px; }.stock-card .kg { font:600 26px "Playfair Display",serif; margin:10px 0; }.stock-card .location { color:var(--muted); font-size:12px; }.price-form { max-width:700px; }.notice { background:#f7f0df; border-left:3px solid var(--gold); color:#765827; border-radius:0 7px 7px 0; padding:11px 13px; margin-bottom:18px; font-size:12px; line-height:1.55; }
.toast { position:fixed; bottom:22px; right:23px; padding:11px 15px; color:white; background:var(--ink); border-radius:7px; box-shadow:var(--shadow); transform:translateY(70px); opacity:0; transition:.25s; z-index:10; font-size:13px; }.toast.show { transform:translateY(0); opacity:1; }.loading { padding:35px; color:var(--muted); }
@media (max-width:1050px) { .stats { grid-template-columns:repeat(2,1fr); }.dashboard-grid { grid-template-columns:1fr; }.form-grid { grid-template-columns:repeat(2,1fr); }.stock-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:760px) { .app-shell { display:block; }.sidebar { position:fixed; z-index:5; transform:translateX(-100%); width:248px; transition:.2s; }.sidebar.open { transform:translateX(0); }.topbar { min-height:87px; padding:18px 20px; }.view-root { padding:23px 20px 40px; } h1 { font-size:23px; }.mobile-menu { display:block; border:0; background:none; color:var(--ink); margin-right:12px; font-size:19px; }.topbar>div:first-of-type { margin-right:auto; }.today { display:none; }.view-heading { flex-direction:column; }.stats,.stock-grid,.form-grid,.form-grid.three { grid-template-columns:1fr; }.calc-preview { margin:0 0 8px; }.form-footer { flex-wrap:wrap; justify-content:stretch; }.form-footer button { flex:1; }.topbar { gap:7px; }.user-button { padding:7px 9px; }.sidebar-footer { display:none; }.data-explorer { align-items:stretch; }.explorer-search { max-width:none; flex-basis:100%; }.explorer-filter { flex:1; max-width:none; min-width:0; }.explorer-count { margin-left:0; flex:1 0 100%; }.explorer-actions { width:100%; }.explorer-actions .compact { flex:1; }.production-input-row,.production-output-row { grid-template-columns:1fr; }.production-input-row .small-button,.production-output-row .small-button { justify-self:start; }.production-inputs-head { align-items:flex-start; flex-direction:column; } }
.field textarea { width:100%; border:1px solid #dcded5; background:white; border-radius:6px; padding:9px 10px; outline:none; color:var(--ink); resize:vertical; min-height:74px; }.field textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(29,118,100,.1); }.address-field { grid-column:span 2; } @media (max-width:760px) { .address-field { grid-column:auto; } }
.login-overlay { position:fixed; inset:0; z-index:30; display:grid; place-items:center; padding:24px; background:linear-gradient(125deg,rgba(9,35,31,.96),rgba(19,67,58,.92)),radial-gradient(circle at top right,#bf8b39 0,transparent 30%); }.login-overlay.hidden { display:none; }.login-card { width:min(100%,420px); background:var(--cream); border:1px solid rgba(255,255,255,.25); border-radius:14px; padding:31px; box-shadow:0 28px 70px rgba(0,0,0,.28); }.login-brand { width:205px; height:44px; padding:0; gap:0; overflow:hidden; border-radius:8px; background:var(--ink); }.login-brand-lockup { display:block; width:205px; height:44px; object-fit:contain; object-position:left center; }.eyebrow { margin:24px 0 8px; color:var(--green); font:10px "DM Mono",monospace; letter-spacing:1.25px; }.login-card h2 { margin:0; font:600 29px "Playfair Display",serif; letter-spacing:-.5px; }.login-copy { color:var(--muted); line-height:1.55; margin:9px 0 22px; }.login-card form { display:grid; gap:14px; }.login-submit { width:100%; margin-top:4px; }.login-error { min-height:16px; color:var(--red); margin:0; font-size:12px; }.login-hint { border-top:1px solid var(--line); color:var(--muted); margin:22px 0 0; padding-top:16px; font-size:12px; line-height:1.6; }.login-hint strong { color:var(--ink); }
.company-profile { display:flex; align-items:center; gap:18px; padding:20px; }.company-logo,.document-logo { flex:0 0 auto; width:68px; height:68px; border:1px solid var(--line); background:#f1eee5; border-radius:10px; overflow:hidden; display:grid; place-items:center; color:var(--green); font:600 24px "Playfair Display",serif; }.company-logo img,.document-logo img { width:100%; height:100%; object-fit:contain; background:white; }.company-details { flex:1; min-width:0; }.company-details > strong { font:600 20px "Playfair Display",serif; }.document-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }.document-preview { background:white; border:1px solid var(--line); border-radius:10px; padding:22px; box-shadow:0 2px 8px rgba(25,49,43,.03); }.document-brand { display:flex; gap:12px; align-items:center; border-bottom:2px solid var(--ink); padding-bottom:15px; color:var(--muted); font-size:10px; line-height:1.55; }.document-brand strong { color:var(--ink); display:block; font:600 13px "DM Sans",sans-serif; }.document-logo { width:45px; height:45px; border-radius:6px; font-size:17px; }.document-title { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; padding:18px 0 11px; }.document-title span { color:var(--muted); font:10px "DM Mono",monospace; }.document-title h3 { margin:4px 0 0; font:600 19px "Playfair Display",serif; }.document-status { color:#146753; background:#dff2e9; border-radius:12px; padding:4px 7px; font-size:10px; white-space:nowrap; }.document-preview > p { color:var(--muted); min-height:36px; font-size:12px; line-height:1.5; }.document-footer { border-top:1px solid var(--line); color:var(--muted); padding-top:10px; font-size:10px; line-height:1.5; }
.document-lines-head { display:flex; align-items:baseline; gap:10px; margin:20px 0 8px; }.document-lines-head strong { font-size:13px; }.document-lines-head span { color:var(--muted); font-size:12px; }.document-lines { display:grid; gap:8px; margin-bottom:10px; }.document-line { display:grid; grid-template-columns:minmax(180px,2fr) .6fr .8fr 1fr auto; gap:8px; }.document-line input { border:1px solid #dcded5; background:white; border-radius:6px; padding:9px 10px; min-width:0; outline:none; color:var(--ink); }.document-line input:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(29,118,100,.1); }.print-section { margin-top:28px; border-top:1px dashed #c8cfc9; padding-top:25px; scroll-margin-top:24px; }.print-section:focus { outline:none; }.print-document { width:min(100%,820px); margin:0 auto; background:white; padding:38px; border:1px solid var(--line); box-shadow:var(--shadow); }.document-party { display:grid; grid-template-columns:1fr auto; gap:22px; border-bottom:1px solid var(--line); padding:6px 0 18px; color:var(--muted); font-size:12px; }.document-party span { color:#7d8984; display:block; font:10px "DM Mono",monospace; letter-spacing:.6px; margin-bottom:5px; }.document-party strong { color:var(--ink); display:block; }.document-party p { margin:5px 0 0; }.print-table { box-shadow:none; margin-top:20px; border-radius:0; }.print-table .data-table { min-width:0; }.document-total { display:flex; justify-content:flex-end; align-items:baseline; gap:36px; padding:15px 0; border-bottom:2px solid var(--ink); font-size:13px; }.document-total strong { font:600 22px "Playfair Display",serif; }.document-notes { margin:18px 0; color:var(--muted); font-size:12px; line-height:1.6; }.document-signatures { display:grid; grid-template-columns:1fr 1fr; gap:35px; margin-top:42px; text-align:center; color:var(--muted); font-size:11px; line-height:4; }.document-signatures strong { color:var(--ink); }
.package-barcode { display:block; width:min(100%,360px); height:76px; margin:0 auto; }
.journal-lines-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:20px 0 8px; }.journal-lines-head strong { display:block; font-size:13px; }.journal-lines-head span { color:var(--muted); font-size:12px; }.journal-lines { display:grid; gap:8px; }.journal-line { display:grid; grid-template-columns:minmax(190px,1.6fr) .65fr .65fr minmax(150px,1fr) auto; gap:8px; }.journal-line select,.journal-line input { width:100%; min-width:0; border:1px solid #dcded5; background:white; border-radius:6px; padding:9px 10px; outline:none; color:var(--ink); }.journal-line select:focus,.journal-line input:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(29,118,100,.1); }
@media (max-width:760px) { .company-profile { align-items:flex-start; }.document-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .document-line { grid-template-columns:1fr 1fr; }.document-line input:first-child { grid-column:span 2; }.document-line .small-button { grid-column:span 2; }.document-party { grid-template-columns:1fr; }.print-document { padding:21px; } }
@media (max-width:760px) { .journal-lines-head { align-items:flex-start; flex-direction:column; }.journal-line { grid-template-columns:1fr 1fr; }.journal-line select,.journal-line input[name="memo"],.journal-line .small-button { grid-column:span 2; } }
@media (max-width:760px) { .advance-allocation-row { grid-template-columns:1fr; }.advance-allocation-row .small-button { justify-self:start; } }
@media print { body { background:white; } body * { visibility:hidden; } .print-section,.print-section * { visibility:visible; } .print-section { position:absolute; inset:0; width:100%; border:0; margin:0; padding:0; } .print-section > .view-heading { display:none; } .print-document { display:block; width:100%; max-width:none; border:0; box-shadow:none; padding:0; } .print-table { overflow:visible; } }
.production-output-row.with-cost-allocation { grid-template-columns:minmax(165px,1.35fr) minmax(95px,.55fr) minmax(95px,.55fr) minmax(120px,.65fr) minmax(145px,.8fr) auto; }
@media (max-width:760px) { .production-output-row.with-cost-allocation { grid-template-columns:1fr; } }
.production-recipe-material-row { grid-template-columns:minmax(210px,1.2fr) minmax(120px,.55fr) minmax(190px,1fr) auto; }
.routing-section { margin-top:20px; }
.production-recipe-routing-row { grid-template-columns:42px minmax(200px,1.25fr) minmax(125px,.65fr) minmax(190px,1fr) auto; align-items:center; }
.production-recipe-routing-row [data-recipe-routing-sequence] { color:var(--green); font-weight:600; text-align:center; }
@media (max-width:760px) { .production-recipe-material-row { grid-template-columns:1fr; } }
@media (max-width:760px) { .production-recipe-routing-row { grid-template-columns:1fr; } .production-recipe-routing-row [data-recipe-routing-sequence] { text-align:left; } }
.language-switcher { display:flex; align-items:center; gap:3px; border:1px solid var(--line); border-radius:999px; background:var(--cream); padding:3px; }
.language-switcher-label { color:var(--muted); font:10px "DM Mono",monospace; letter-spacing:.45px; padding:0 5px; white-space:nowrap; }
.language-option { border:0; border-radius:999px; background:transparent; color:var(--muted); font:600 11px "DM Mono",monospace; letter-spacing:.35px; min-width:30px; padding:6px 7px; }
.language-option:hover { background:var(--mint); color:var(--green); }
.language-option[aria-pressed="true"] { background:var(--green); color:white; }
@media (max-width:760px) { .language-switcher-label { display:none; } .language-switcher { padding:2px; } .language-option { min-width:28px; padding:6px; } }
