:root{--dk:#526b3f;--dk2:#7f965f;--paper:#f7f5ee;--ink:#273027;--line:#dfe3d8;--accent:#c69145}
body{background:#f4f5f1;color:var(--ink)}.dk-navbar{background:linear-gradient(90deg,#425535,#667b4d);box-shadow:0 2px 12px #0001}.dk-navbar .navbar-brand,.dk-navbar .nav-link{color:#fff}.dk-navbar .nav-link{opacity:.82}.dk-navbar .nav-link.active,.dk-navbar .nav-link:hover{opacity:1}.dk-mark{display:inline-grid;place-items:center;background:#fff;color:var(--dk);border-radius:9px;width:34px;height:34px;font-weight:800}.card{border:1px solid var(--line);box-shadow:0 2px 12px #2730270a}.card-header{background:#fbfcf9;border-bottom-color:var(--line)}.btn-dk{background:var(--dk);border-color:var(--dk);color:#fff}.btn-dk:hover{background:#3f5232;border-color:#3f5232;color:#fff}.badge-soft{background:#e9eee4;color:#405333}.stat-card .display-6{font-weight:700}.table>:not(caption)>*>*{vertical-align:middle}.phase-badge{min-width:34px}.recipe-total-ok{color:#2d7b40}.recipe-total-bad{color:#a62929}.small-muted{font-size:.85rem;color:#6c757d}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,#eef2e8,#dfe6d6 48%,#ccd8c2)}.login-card{width:min(430px,calc(100% - 32px));background:#fff;padding:36px;border-radius:18px;box-shadow:0 24px 70px #26351f2c}.dk-login-mark{margin:auto;width:74px;height:74px;border-radius:18px;background:var(--dk);color:#fff;display:grid;place-items:center;font-size:28px;font-weight:800;box-shadow:0 9px 25px #526b3f55}.sticky-actions{position:sticky;bottom:10px;z-index:5}.quick-note{border-left:4px solid var(--accent)}.form-control:focus,.form-select:focus{border-color:#92a77a;box-shadow:0 0 0 .25rem #78925d25}.cost-unknown{color:#9b6b1f}.section-title{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#6d7866;font-weight:700}.attachment-row{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #eee}.attachment-row:last-child{border-bottom:0}@media(max-width:768px){.table-responsive table{min-width:720px}.login-card{padding:24px}}

/* Receptura: zwarty widok arkuszowy do pracy z dużą liczbą składników. */
.recipe-formula-bar{background:#fbfcf9}
#recipe-group-summary:empty::after{content:'brak';color:#6c757d;font-size:.82rem}
.recipe-group-summary-badge{font-weight:600;color:#46523f!important;background:#f4f6f1!important}
#recipe-items.recipe-sheet{font-size:.86rem;table-layout:fixed;background:#fff;min-width:1180px}
#recipe-items.recipe-sheet thead th{padding:.28rem .32rem;background:#f1f3ee;font-size:.72rem;text-transform:uppercase;letter-spacing:.025em;color:#65705f;white-space:nowrap}
#recipe-items.recipe-sheet tbody td{padding:0;background:#fff;border-color:#d9ddd5;height:31px}
#recipe-items.recipe-sheet .form-control{height:30px;min-height:30px;padding:.16rem .3rem;border:0;border-radius:0;background:transparent;font-size:.86rem;box-shadow:none}
#recipe-items.recipe-sheet .form-control:focus{position:relative;z-index:3;background:#fff;box-shadow:inset 0 0 0 2px #7f965f}
#recipe-items.recipe-sheet .form-control[readonly]{background:#f4f6f1;color:#394633;font-weight:600}
#recipe-items.recipe-sheet .form-control:disabled{background:#f5f5f3;color:#999}
#recipe-items.recipe-sheet .ingredient-search{height:30px}
#recipe-items.recipe-sheet .ingredient-search>.form-control{padding-right:.3rem}
.ingredient-search-menu{font-size:.88rem}
.ingredient-search-menu .ingredient-search-add{color:var(--dk);background:#f7faf4}
.ingredient-search-menu .ingredient-search-add:hover{background:#edf3e8;color:#34452a}
#recipe-items.recipe-sheet .item-cost{padding:.16rem .3rem!important;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
#recipe-items.recipe-sheet .recipe-col-phase{width:54px}
#recipe-items.recipe-sheet .recipe-col-ingredient{width:25%}
#recipe-items.recipe-sheet .recipe-col-percent{width:72px;text-align:right}
#recipe-items.recipe-sheet .recipe-col-group{width:105px}
#recipe-items.recipe-sheet .recipe-col-linked-group{width:108px}
#recipe-items.recipe-sheet .recipe-col-linked-percent{width:66px;text-align:right}
#recipe-items.recipe-sheet .recipe-col-cost{width:84px;text-align:right}
#recipe-items.recipe-sheet .recipe-col-actions{width:68px}
#recipe-items.recipe-sheet .recipe-row-actions{padding:0 2px!important;text-align:center;white-space:nowrap}
#recipe-items.recipe-sheet .recipe-row-actions .btn{width:29px;height:29px;padding:0;border-radius:0;font-size:.78rem;line-height:27px}
#recipe-items.recipe-sheet .recipe-row-actions .remove-recipe-row{font-size:1rem;border-left:0}
#recipe-items.recipe-sheet .toggle-recipe-filler.btn-warning{font-weight:800;color:#4f3c0a;background:#ffd86b;border-color:#d7ad37}
#recipe-items.recipe-sheet .recipe-percent,#recipe-items.recipe-sheet .recipe-link-percent{font-variant-numeric:tabular-nums}
#recipe-items.recipe-sheet tr.recipe-row-filler td{background:#fffaf0}
#recipe-items.recipe-sheet tr.recipe-row-linked td{background:#fbfcf9}
#recipe-items.recipe-sheet tr.recipe-row-filler .form-control[readonly]{background:#fff5d6}
#recipe-items.recipe-sheet tr.recipe-row-linked .recipe-percent[readonly]{background:#edf3e8}
@media(max-width:768px){#recipe-items.recipe-sheet{min-width:1180px}}

/* Kolejność składników i czytelność karty partii. */
#recipe-items.recipe-sheet .recipe-col-drag{width:30px;text-align:center}
#recipe-items.recipe-sheet .recipe-drag-cell{width:30px;text-align:center;background:#f7f8f5}
#recipe-items.recipe-sheet .recipe-drag-handle{width:29px;height:29px;padding:0;border:0;background:transparent;color:#7a8574;cursor:grab;font-weight:700;letter-spacing:-2px;line-height:29px;user-select:none}
#recipe-items.recipe-sheet .recipe-drag-handle:active{cursor:grabbing}
#recipe-items.recipe-sheet tr.recipe-row-dragging{opacity:.48}
#recipe-items.recipe-sheet tr.recipe-row-dragging td{background:#eef2e9}
.batch-plan-col{font-weight:800!important;background:#f2f5ee!important;border-left:2px solid #cbd3c4!important;border-right:2px solid #cbd3c4!important;font-variant-numeric:tabular-nums}
