.bn{--bn-ink:#173d42;--bn-muted:#64777b;--bn-line:#dce7e5;color:var(--bn-ink);max-width:1500px;margin:auto;padding:8px;font-size:14px}.bn *{box-sizing:border-box;min-width:0}.bn h1{font-size:clamp(26px,4vw,38px);letter-spacing:-.02em;margin:7px 0}.bn h2{font-size:20px;margin:6px 0}.bn h3{font-size:17px}.bn h4{font-size:15px}.bn p{line-height:1.65;overflow-wrap:anywhere}.bn-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.bn-header small{letter-spacing:.12em;color:#718b83;font-weight:700}.bn-header p{color:var(--bn-muted);margin:6px 0}.bn-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.bn .btn{min-height:44px;white-space:normal;line-height:1.35}.bn-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:16px;margin-top:16px}.bn-card,.bn-panel{padding:20px;background:#fff;border:1px solid var(--bn-line);border-radius:18px;box-shadow:0 4px 18px #173d4205}.bn-panel{margin:14px 0}.bn-kicker{display:flex;justify-content:space-between;gap:12px;align-items:center}.bn-badge{padding:6px 10px;border-radius:20px;background:#eef3f3;font-size:12px;font-weight:700}.bn-badge.SUBMITTED{background:#fff1ce;color:#865d0b}.bn-badge.PARTIAL{background:#eaf2ff;color:#275d9b}.bn-badge.COMPLETED{background:#e3f5eb;color:#24704a}.bn-badge.CANCELLED,.bn-badge.REJECTED{background:#faeded;color:#965450}.bn-metrics,.bn-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:16px 0}.bn-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.bn-metrics>div,.bn-stats>div{padding:12px;background:#f5f8f7;border-radius:12px}.bn-metrics small,.bn-stats small{display:block;font-size:12px;color:var(--bn-muted);line-height:1.5}.bn-metrics strong,.bn-stats strong{display:block;margin-top:6px;font-size:20px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.bn-stats strong{font-size:27px}.bn-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bn label{display:flex;flex-direction:column;gap:7px;font-weight:600;line-height:1.5;margin-bottom:13px}.bn input,.bn select,.bn textarea{width:100%;border:1px solid #cbd9d7;border-radius:10px;padding:12px;background:#fff;color:#173d42;font-size:16px;min-height:46px}.bn input:focus,.bn select:focus,.bn button:focus-visible{outline:3px solid #aad6ca;outline-offset:2px}.bn-check,.bn-line-select{flex-direction:row!important;align-items:center;font-weight:400!important}.bn input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:none}.bn-filter{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding:16px;background:#f5f8f7;border-radius:16px}.bn-filter details{grid-column:1 / -1}.bn-filter label{margin-bottom:0}.bn summary{padding:12px 0;cursor:pointer;line-height:1.5;font-weight:600}.bn details{border-top:1px solid var(--bn-line);margin-top:10px}.bn-warning{color:#8b5c17;background:#fff6e5;border-radius:10px;padding:11px}.bn-error{color:#a13535;white-space:pre-line;overflow-wrap:anywhere}.bn-error:empty{display:none}.bn-note,.bn small{color:var(--bn-muted)}.bn-recipe{border:1px solid var(--bn-line);border-radius:14px;padding:16px;margin:15px 0;background:#f8faf9}.bn-allocation,.bn-preview-line{border-bottom:1px solid var(--bn-line);padding:10px 0}.bn-empty{text-align:center;padding:35px}.bn-dialog{width:min(850px,96vw)!important;max-height:91dvh;overflow-y:auto!important;padding:24px!important}.bn-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:12px}.bn-buy-line{margin:12px 0;border-bottom:1px solid var(--bn-line);padding-bottom:10px}.bn[dir=rtl]{text-align:right}.bn[dir=rtl] .bn-header small{letter-spacing:0}@media(max-width:700px){.bn-header{display:block}.bn-header .bn-actions{margin-top:18px}.bn-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bn-card,.bn-panel{padding:15px}.bn-dialog{padding:16px!important}.bn-grid{grid-template-columns:1fr}.bn-filter{grid-template-columns:1fr 1fr}.bn-filter .btn{grid-column:1 / -1}.bn-metrics strong{font-size:18px}.bn-actions .btn{flex:1 1 auto}.bn-kicker{align-items:flex-start}.bn-card h2{font-size:19px}}@media(prefers-reduced-motion:reduce){.bn *{scroll-behavior:auto!important;transition:none!important}}

.bn-inline-material{padding:14px;background:#edf5f1;border:1px solid #c9ded4;border-radius:12px;margin-bottom:12px}.bn-inline-material .btn{margin-top:10px}.bn-recipe-result{font-weight:600;color:#24624c}.bn-model-panel .bn-actions{margin-bottom:0}.bn [hidden]{display:none!important}
.bn-preparations{margin:12px 0 32px;padding-bottom:24px;border-bottom:2px solid var(--bn-line)}.bn-prep-card{border-inline-start:4px solid #2f7768}.bn-prep-filter{background:#f5f8f7;border-radius:14px;padding:14px;margin:12px 0}.bn-prep-filter>label{margin-bottom:0}.bn-prep-filter details{margin-top:8px}.bn-prep-card .bn-kicker>b{color:#24624c}

/* Premium V2: reuse app tokens and native BN forms, one compact document. */
.app-ui .bn-premium,.bn-premium-dialog{--bn-ink:var(--text);--bn-muted:var(--muted);--bn-line:var(--line);color:var(--text);width:100%;min-width:0}
.app-ui .bn-premium .bn-header{gap:12px;margin-bottom:14px}.app-ui .bn-premium h1{font-size:clamp(1.25rem,2vw,1.65rem)}.app-ui .bn-premium h2{font-size:1rem}.app-ui .bn-premium .bn-header p{font-size:.8125rem}
.app-ui .bn-premium .bn-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:12px}.app-ui .bn-premium .bn-compact{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:none}.app-ui .bn-premium .bn-compact p{margin:5px 0;font-size:.8125rem}
.app-ui .bn-premium-filters{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.app-ui .bn-premium-filters>label{margin-bottom:0}.app-ui .bn-premium-filters details{margin-top:8px}.app-ui .bn-premium-filters summary{padding:8px 0}.app-ui .bn-premium .bn-actions{margin:8px 0 0}.app-ui .bn-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-block:14px}
:is(.app-ui .bn-premium,.bn-premium-dialog) :is(input,select,textarea){min-height:44px;padding:9px 10px;border-color:var(--line);border-radius:9px;background:var(--card);color:var(--text);font-size:1rem}:is(.app-ui .bn-premium,.bn-premium-dialog) input[type=checkbox]{min-height:20px;width:20px;padding:0}:is(.app-ui .bn-premium,.bn-premium-dialog) label{font-size:.8125rem;gap:5px;margin-bottom:10px}
.bn-premium-dialog{padding:16px!important;width:min(850px,96vw)!important;scroll-padding-bottom:70px}.bn-premium-dialog h2{font-size:1.125rem}.bn-premium-dialog .bn-entry-lines{display:grid;gap:12px;margin-block:14px}.bn-premium-dialog .bn-entry-row{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.bn-premium-dialog .bn-entry-row .bn-kicker{align-items:center;margin-bottom:8px}.bn-premium-dialog .bn-entry-row .bn-kicker .btn{font-size:.75rem;min-height:40px;padding:7px 10px}.bn-premium-dialog .bn-entry-row .bn-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.bn-premium-dialog .bn-entry-row summary{padding:8px 0}.bn-premium-dialog .bn-entry-row .small{font-size:.75rem}
.bn-premium-dialog .bn-entry-results{display:grid;gap:5px;max-height:240px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:9px;padding:7px;margin-bottom:8px;background:var(--card)}.bn-premium-dialog .bn-entry-results>button{text-align:start;white-space:normal;min-height:44px;max-width:100%;overflow-wrap:anywhere}.bn-premium-dialog .bn-form>button[type=submit]{position:sticky;bottom:0;z-index:2;width:100%;min-height:44px;box-shadow:0 -8px 0 4px var(--card);margin-top:14px}.bn-premium-dialog .bn-form{padding-bottom:env(safe-area-inset-bottom)}
:is(.app-ui .bn-premium,.bn-premium-dialog) :is(button,summary,input,select,textarea):focus-visible{outline:3px solid var(--bm-ui-accent);outline-offset:2px}.app-ui .bn-premium .bn-badge{background:var(--bm-ui-accent-bg);color:var(--bm-ui-accent)}
@media(max-width:600px){.app-ui .bn-premium .bn-header{display:flex;align-items:start;flex-wrap:wrap}.app-ui .bn-premium .bn-header>.btn{min-height:44px}.bn-premium-dialog .bn-grid{grid-template-columns:1fr}.bn-premium-dialog .bn-entry-row .bn-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

.bn-premium-dialog .bn-entry-error{color:var(--red);font-size:.8125rem;overflow-wrap:anywhere}.bn-premium-dialog .bn-entry-error:empty{display:none}
