:root{--royal: #0b3d91;--royal-deep: #072a66;--yellow: #f7c600;--yellow-soft: #ffe789;--white: #ffffff;--bg0: #ffffff;--bg1: #eef3fb;--ink: #0a1f4d;--muted: #4a5d82;--card: rgba(255, 255, 255, .94);--line: #c5d2ea;--accent: var(--royal);--accent-ink: var(--white);--danger: #b42318;--salt: #c99700;--nosalt: var(--royal);--shadow: 0 18px 40px rgba(11, 61, 145, .12);--radius: 14px;--font-display: "Fraunces", Georgia, serif;--font-body: "Source Sans 3", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);font-family:var(--font-body);background:radial-gradient(circle at top left,rgba(247,198,0,.28) 0%,transparent 38%),radial-gradient(circle at bottom right,rgba(11,61,145,.12) 0%,transparent 42%),linear-gradient(160deg,var(--bg0),var(--bg1))}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{padding:1.25rem 1rem;border-right:1px solid var(--royal-deep);background:linear-gradient(180deg,var(--royal) 0%,var(--royal-deep) 100%);color:var(--white);position:sticky;top:0;height:100vh;overflow:auto}.brand{font-family:var(--font-display);font-size:1.7rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .25rem;color:var(--yellow)}.brand-sub{color:#ffffffc7;font-size:.9rem;margin-bottom:1.5rem}.nav{display:grid;gap:.35rem}.nav a{padding:.55rem .75rem;border-radius:10px;color:#ffffffeb}.nav a.active,.nav a:hover{background:#f7c60033;color:var(--yellow)}.content{padding:1.25rem clamp(1rem,3vw,2rem) 2.5rem}.page-header{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;justify-content:space-between;margin-bottom:1.25rem}.page-header h1{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem);margin:0;letter-spacing:-.02em;color:var(--royal)}.page-header p{margin:.2rem 0 0;color:var(--muted)}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.stack{display:grid;gap:1rem}.row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.stat{padding:1rem;border-radius:var(--radius);background:linear-gradient(180deg,var(--white),#f3f7ff);border:1px solid var(--line);border-top:4px solid var(--yellow)}.stat strong{display:block;font-family:var(--font-display);font-size:1.8rem;margin-top:.25rem;color:var(--royal)}label{display:grid;gap:.3rem;font-size:.92rem;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;background:var(--white);color:var(--ink)}textarea{min-height:90px;resize:vertical}.btn{border:0;border-radius:999px;padding:.55rem 1rem;background:var(--accent);color:var(--accent-ink);font-weight:700;cursor:pointer}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:var(--white);color:var(--royal);border:1px solid var(--line)}.btn.danger{background:var(--danger)}.btn.small{padding:.3rem .7rem;font-size:.9rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.55rem .45rem;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.85rem;color:var(--muted);font-weight:700}.th-sort{border:0;background:transparent;padding:0;margin:0;font:inherit;font-weight:700;color:inherit;cursor:pointer;text-align:left}.th-sort:hover{color:var(--royal)}.badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:.8rem;font-weight:700}.badge.salt{background:#f7c6003d;color:#8a6a00}.badge.nosalt{background:#0b3d911f;color:var(--nosalt)}.badge.ok{background:#f7c60047;color:var(--royal-deep)}.error{color:var(--danger);font-weight:600}.muted{color:var(--muted)}.order-card{display:grid;gap:.45rem;padding:.75rem;border:1px solid var(--line);border-radius:12px;background:var(--white)}.order-card.selected{border-color:var(--royal);box-shadow:inset 0 0 0 1px var(--royal),0 0 0 3px #f7c60059}.scope-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.scope-seg button{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:.55rem .4rem;cursor:pointer;font-weight:600;font-size:.92rem;color:var(--royal)}.scope-seg button.active{background:var(--yellow);border-color:var(--yellow);color:var(--royal-deep)}.seg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.35rem}.seg button{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:.4rem;cursor:pointer;color:var(--ink)}.seg button.active.salt{background:var(--yellow);border-color:var(--yellow);color:var(--royal-deep)}.seg button.active.nosalt{background:var(--nosalt);border-color:var(--nosalt);color:#fff}.seg button.active.none{background:#d9e3f5;color:var(--royal-deep)}.grade-block+.grade-block{margin-top:1rem}.grade-block h2{font-family:var(--font-display);margin:0 0 .5rem;font-size:1.3rem;color:var(--royal)}.week-chart-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;margin:0 -.25rem;padding:0 .25rem .35rem}.week-chart{display:flex;align-items:stretch;gap:.55rem;height:240px;box-sizing:border-box}.week-chart-col{flex:1 0 3.1rem;max-width:4.5rem;display:flex;flex-direction:column;align-items:center;min-width:3.1rem}.week-chart-value{font-size:.8rem;font-weight:700;color:var(--royal);line-height:1.2;margin-bottom:.35rem}.week-chart-bar-wrap{flex:1 1 auto;width:70%;min-height:0;display:flex;align-items:flex-end;border-bottom:1px solid var(--line)}.week-chart-bar{width:100%;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,var(--yellow) 0%,#e0a800 100%);box-shadow:inset 0 1px #ffffff59;min-height:0;transition:height .2s ease}.week-chart-col.current .week-chart-bar{background:linear-gradient(180deg,var(--yellow-soft) 0%,var(--royal) 100%)}.week-chart-col.current .week-chart-label{color:var(--royal);font-weight:800}.week-chart-label{margin-top:.45rem;font-size:.78rem;font-weight:700;color:var(--muted);white-space:nowrap}.mobile-nav-toggle{display:none}.sidebar .btn.secondary{background:transparent;color:var(--white);border-color:#ffffff59}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;height:auto;z-index:20}.sidebar.collapsed .nav{display:none}.mobile-nav-toggle{display:inline-flex}.grid-2,.grid-3,.scope-seg{grid-template-columns:1fr}}.print-sheet{background:#fff}.print-grid{display:flex;flex-direction:column;gap:calc(2rem + 3 * 1.25 * .82rem)}.print-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.25rem;align-items:start}.print-section-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #222;padding-bottom:.15rem;margin-bottom:.35rem}.print-section-head h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1rem;font-weight:700;color:#111}.print-salt-label{font-family:Georgia,Times New Roman,serif;font-size:.85rem;font-weight:700}.print-names{list-style:none;margin:0;padding:0}.print-names li{display:flex;justify-content:space-between;gap:.5rem;font-family:Georgia,Times New Roman,serif;font-size:.82rem;line-height:1.35;padding:.05rem 0;border-bottom:1px dotted #ccc}.print-name{min-width:0}.print-yesno{flex:0 0 auto;font-weight:600;min-width:2.2rem;text-align:right}.print-section-foot{margin-top:.45rem;font-family:Georgia,Times New Roman,serif;font-size:.85rem;font-weight:700}.print-page-foot{display:flex;justify-content:space-between;gap:1rem;margin-top:1.25rem;padding-top:.75rem;border-top:1px solid #222;font-family:Georgia,Times New Roman,serif;font-size:.95rem;font-weight:700}.print-blank{text-decoration:underline;padding:0 .35rem}.print-empty{border-bottom:0!important;font-style:italic}@media screen and (max-width:900px){.print-row{grid-template-columns:1fr}}@media print{@page{size:letter portrait;margin:.35in}.sidebar,.no-print{display:none!important}.app-shell,.content{display:block!important;padding:0!important;margin:0!important;background:#fff!important;min-height:0!important;width:100%!important;max-width:none!important}.panel{box-shadow:none!important;border:0!important;padding:0!important;background:#fff!important}.print-sheet{box-shadow:none;border:0;padding:0;width:100%!important;min-height:10in;display:flex;flex-direction:column}.print-grid{display:flex!important;flex-direction:column!important;gap:calc(2rem + 35.625pt)!important;width:100%!important;flex:1 1 auto}.print-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1.15rem 1.35rem!important;align-items:start}.print-section-head{margin-bottom:.35rem;padding-bottom:.15rem}.print-names li{font-size:9.5pt;line-height:1.25;padding:.05rem 0;border-bottom-color:#bbb}.print-section-foot{margin-top:.45rem}.print-page-foot{margin-top:auto;padding-top:1rem}.print-section-head h3,.print-salt-label,.print-section-foot,.print-page-foot{color:#000}body{background:#fff!important;color:#000!important}.stack{gap:0!important}}
