*{box-sizing:border-box}body{margin:0;background:#f3f6f7;color:#183a4b;font:16px/1.5 'Segoe UI',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a{cursor:pointer}a{text-decoration:none;color:inherit}button{border:0}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;padding:30px 17px 23px;background:#12354c;color:#b8cdd8}.brand{display:flex;align-items:center;gap:11px;color:#fff;font-weight:700;letter-spacing:1px;font-size:21px;padding:0 12px 26px}.brandmark{width:33px;height:38px;border:3px solid #6bc57c;border-radius:9px 3px;display:grid;place-items:center;transform:skew(-12deg);color:#75cf86;font-size:24px}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:400;color:#a8c4cf}.navlabel{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#83a4b6;padding:23px 12px 9px}.navitem{display:flex;align-items:center;gap:11px;font-size:13px;padding:12px;border-radius:7px;margin:3px 0;line-height:1.4}.navitem.active{background:#2b535b;color:#cff8d5;box-shadow:inset 3px 0 #72d78b}.navitem:hover{background:#24495e;color:white}.ico{display:inline-flex;width:19px;height:19px;align-items:center;justify-content:center;flex:none}.ico svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.sidebottom{margin-top:auto;padding:30px 12px 0;font-size:11px;line-height:1.7;color:#94b3c3}.sidebottom a{display:flex;gap:8px;color:#c5dce4;font-size:12px;margin-bottom:17px}.topbar{height:80px;background:white;border-bottom:1px solid #dfe7ea;display:flex;justify-content:space-between;align-items:center;padding:0 34px;gap:16px}.crumb{font-size:12px;color:#80949f}.topright{display:flex;align-items:center;gap:18px}.demo{border:1px solid #dce7eb;background:#f0f5f7;color:#718d9d;letter-spacing:1px;text-transform:uppercase;font-size:10px;padding:5px 8px;border-radius:4px;white-space:nowrap}.person{display:flex;gap:9px;align-items:center;white-space:nowrap}.avatar{display:grid;place-items:center;border-radius:50%;width:34px;height:34px;background:#edf6ef;color:#42854e;font-size:12px;font-weight:700}.person b{font-size:12px;display:block}.person small{font-size:10px;color:#8c9fa9;display:block}.content{min-width:0}.main{padding:27px 34px 20px;max-width:1650px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.overline{font-size:11px;color:#45865b;letter-spacing:1.8px;text-transform:uppercase;font-weight:600;margin-bottom:6px}h1{font-size:31px;font-weight:650;line-height:1.18;letter-spacing:-1px;margin:0}h2{font-size:18px;font-weight:600;margin:0;letter-spacing:-.3px}h3{font-size:16px;font-weight:600;margin:0 0 7px}p{margin:8px 0 0}.subtitle{font-size:13px;color:#7c919c}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:white;border:1px solid #cfdee5;border-radius:7px;padding:10px 15px;color:#365768;font-size:13px;font-weight:600;min-height:43px;white-space:nowrap}.btn.primary{background:#2d8b45;color:white;border-color:#2d8b45}.btn.primary:hover{background:#25773a}.btn.danger{border-color:#e8c8be;color:#a85139;background:#fff6f2}.btn:disabled{background:#eaf0f3;border-color:#dce7eb;color:#9babb4;cursor:default}.btn.large{padding:14px 22px;min-height:53px;font-size:15px}.btn.text{background:transparent;border:0;padding-left:0;color:#348348}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #82b98f;outline-offset:3px}.badge{display:inline-block;font-size:11px;line-height:1.4;padding:4px 8px;border-radius:4px;background:#edf3f6;color:#607e90;white-space:nowrap}.badge.green{background:#e8f5ed;color:#357c48}.badge.amber{background:#fff2d9;color:#986b1c}.badge.blue{background:#eaf2fb;color:#4d78a3}.badge.private{background:#f1edf9;color:#7b61a0}.badge.red{background:#ffece6;color:#b3553d}.panel{background:#fff;border:1px solid #dce6ea;border-radius:9px;overflow:hidden;margin-bottom:19px}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 21px;border-bottom:1px solid #e6edef}.panelhead p{font-size:12px;color:#8b9ca6;margin:4px 0 0}.body{padding:21px}.grid{display:grid;gap:21px}.two{grid-template-columns:1.7fr 1fr}.equal{grid-template-columns:1fr 1fr}.three{grid-template-columns:repeat(3,1fr)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:23px}.kpi{border:1px solid #dde7eb;background:#fff;border-radius:8px;padding:18px 20px}.kpi .label{display:flex;justify-content:space-between;color:#7f929d;font-size:12px}.kpi .value{font-size:29px;line-height:1.25;font-weight:600;letter-spacing:-1px;margin:11px 0 7px;font-variant-numeric:tabular-nums}.kpi .value small{font-size:14px;font-weight:400;letter-spacing:0;color:#93a4ad}.hint{font-size:11px;color:#8a9ca6}.callout{display:flex;align-items:flex-start;gap:10px;border:1px solid #d8e5ed;background:#eff5f9;border-radius:7px;padding:13px 16px;color:#668296;font-size:12px;margin:0 0 21px}.callout b{display:block;color:#3c647c;font-size:13px;font-weight:600;margin-bottom:2px}.callout.warn{background:#fff9eb;border-color:#eddfbb;color:#9e8248}.callout.warn b{color:#8a6b2e}.callout.success{background:#f0f8f2;border-color:#d0e7d7;color:#6b9475}.callout.success b{color:#398049}.callout.error{background:#fff1ec;border-color:#edc9bd;color:#ac7664}.callout.error b{color:#ab5239}.rowscroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th{background:#f8fafb;color:#8197a3;font-size:10px;letter-spacing:.4px;text-transform:uppercase;font-weight:600;padding:12px 16px;white-space:nowrap;border-bottom:1px solid #e2eaee}td{padding:14px 16px;font-size:13px;border-bottom:1px solid #edf2f4;vertical-align:middle}tr:last-child td{border:0}td b{display:block;font-weight:600;font-size:13px}td small{display:block;font-size:11px;color:#90a1ac;margin-top:3px}.numeric{font-variant-numeric:tabular-nums;white-space:nowrap}.link{font-size:12px;color:#358249;font-weight:600}.muted{color:#8298a5;font-size:12px}.tiny{font-size:11px;color:#8b9ea9;line-height:1.65}.kv{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid #edf1f3;font-size:12px}.kv:last-child{border:0}.kv span:first-child{color:#8599a5}.kv b{text-align:right;font-size:12px;font-weight:600}.big{font-size:37px;font-weight:600;letter-spacing:-1px;margin:5px 0 14px;font-variant-numeric:tabular-nums;line-height:1.25}.big small{font-size:16px;color:#92a6b2;font-weight:400;letter-spacing:0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.field.full{grid-column:1/-1}.field>span{font-size:12px;color:#587587;display:block;font-weight:600;margin-bottom:7px}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #d1dfe6;background:#fff;border-radius:6px;color:#34596f;padding:10px 12px;height:44px;min-width:0;font-size:14px}.field textarea{height:72px;resize:vertical}.field input[readonly]{background:#f4f8fa;color:#7892a1}.field small{display:block;font-size:11px;color:#96a7b1;margin-top:5px}.operator .field input,.operator .field select{font-size:16px;min-height:49px}.operator td{font-size:14px}.formfoot{border-top:1px solid #e2eaee;background:#fbfcfd;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 21px}.formfoot .tiny{max-width:57%}.steps{display:flex;align-items:center;gap:12px;font-size:12px;color:#94a6b2;margin-bottom:22px;flex-wrap:wrap}.steps span{display:flex;align-items:center;gap:7px}.steps b{border:1px solid #d5e2e8;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-size:11px}.steps .current{color:#3a7d4a}.steps .current b{background:#338b49;color:white;border-color:#338b49}.steps .done{color:#579667}.steps .done b{background:#edf7ef;border-color:#d5eadb}.steps i{width:40px;height:1px;background:#dfe7ec}.trace{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;background:#f4f8f9;border-radius:7px;padding:17px 19px;margin-bottom:21px}.trace small{display:block;font-size:10px;color:#8da3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}.trace b{font-size:13px;font-weight:600}.taskcards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:23px}.task{border:1px solid #d8e5e9;border-radius:9px;background:white;padding:24px;display:flex;gap:19px;align-items:flex-start}.task .taskicon{background:#edf6f0;color:#4d9660;border-radius:8px;width:43px;height:43px;display:grid;place-items:center;flex:none}.task strong{display:block;font-weight:600;font-size:20px;letter-spacing:-.4px}.task p{font-size:13px;color:#8298a6;margin:8px 0 17px;max-width:390px}.task.primary{border-color:#bfdcc7;background:#f5faf6}.task.primary .taskicon{background:#318a49;color:white}.tankcards{display:grid;grid-template-columns:1fr 1fr;gap:15px}.tankcard{padding:17px;background:#f5f8fa;border-radius:7px;display:flex;align-items:center;gap:18px}.tank{width:52px;height:65px;border:2px solid #acc8b7;border-radius:50% / 12%;position:relative;overflow:hidden;background:#fff;flex:none}.tank:before{content:'';position:absolute;bottom:0;left:0;right:0;height:55%;background:#c6e2cf}.tank:after{content:'';position:absolute;top:0;width:48px;height:10px;border:1px solid #acc8b7;border-radius:50%;background:#eff8f2}.tankcard b{font-size:14px;font-weight:600}.tankcard p{font-size:12px;color:#7a929f;margin:4px 0 7px}.tankcard .amount{font-size:20px;font-weight:600;letter-spacing:-.6px}.minirows{display:flex;justify-content:space-between;padding:10px 0;font-size:12px;gap:16px;border-bottom:1px solid #ecf1f3}.minirows:last-child{border:0}.minirows small{color:#9babb5}.reviewline{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #eef3f5;font-size:12px;color:#708b9b}.reviewline:last-child{border:0}.reviewline .ico{color:#58976a}.ingredient-row{display:grid;grid-template-columns:1.4fr 1.2fr .9fr .7fr 34px;gap:10px;align-items:end;border-bottom:1px solid #e6edf1;padding-bottom:17px;margin-bottom:17px}.ingredient-row label{font-size:11px;font-weight:600;color:#718c9d;display:block}.ingredient-row select,.ingredient-row input{width:100%;border:1px solid #d1e0e8;background:white;padding:10px 9px;border-radius:6px;font-size:14px;height:46px;color:#456a7e;margin-top:6px;min-width:0}.ingredient-row input{text-align:right;font-variant-numeric:tabular-nums}.remove{height:44px;background:#f4f7f9;color:#8fa4b2;border:1px solid #dce8ed;border-radius:6px;font-size:22px}.portion{height:12px;display:flex;border-radius:6px;overflow:hidden;margin:13px 0}.portion span{display:block;background:#70ae7c}.portion span+span{background:#3c7792}.legend{display:flex;gap:20px;font-size:11px;color:#8099a8;flex-wrap:wrap}.legend i{display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:2px;background:#70ae7c}.legend i.blue{background:#3c7792}.equation{display:flex;align-items:center;justify-content:space-around;padding:20px 0;gap:15px}.equation b{font-size:26px;line-height:1.2;display:block;font-weight:600;letter-spacing:-.7px}.equation small{display:block;font-size:11px;color:#90a7b3;margin-bottom:6px}.equation .sign{color:#9eb1bc;font-size:22px}.timeline{padding:0 0 0 20px;border-left:1px solid #dae6ec;margin-left:7px}.event{position:relative;padding:0 0 24px;font-size:13px}.event:before{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:#6caa7c;left:-25px;top:6px}.event small{font-size:10px;color:#94a7b2;display:block;margin-bottom:5px;letter-spacing:.5px}.event b{font-weight:600}.event p{color:#8da2af;font-size:11px;margin-top:6px}.gate{background:#f6f8fb;border:1px dashed #cddce5;border-radius:7px;padding:18px;color:#718fa2}.gate h3{font-size:14px}.pills{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.pills a,.pills button{border:1px solid #d4e1e8;color:#6f8b9d;background:white;border-radius:5px;padding:7px 12px;font-size:12px}.pills .active{background:#2c8843;color:white;border-color:#2c8843}.foot{display:flex;justify-content:space-between;gap:14px;font-size:10px;color:#9aadb8;margin:13px 0 0}.routecontrols{position:fixed;bottom:14px;right:17px;display:flex;gap:7px;z-index:6;border:1px solid #d5e3ea;background:#fff;padding:6px 9px;border-radius:6px;box-shadow:0 3px 15px #173a4c12;font-size:10px;color:#6c8798}.routecontrols a{padding:3px 5px}#notice{display:none;position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#143e53;color:white;font-size:13px;padding:14px 23px;border-radius:7px;z-index:20;max-width:90vw;box-shadow:0 7px 24px #153e5333}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.loginbrand{background:#153e56;color:white;display:flex;flex-direction:column;position:relative;overflow:hidden;padding:50px 56px}.loginbrand:after{content:'';position:absolute;width:640px;height:640px;left:-150px;top:300px;border:1px solid #41687b;border-radius:70px;transform:rotate(-28deg);box-shadow:0 0 0 55px #234b61,0 0 0 56px #42697a,0 0 0 115px #1b435a}.loginbrand>.brand{z-index:1;padding:0}.loginmessage{position:relative;z-index:1;margin:auto 0;padding:70px 0}.loginmessage .overline{color:#8bd79b}.loginmessage h1{font-size:49px;line-height:1.12;letter-spacing:-1.6px;font-weight:550;margin:18px 0 25px}.loginmessage p{max-width:400px;font-size:16px;line-height:1.7;color:#b9ced9}.loginbottom{position:relative;z-index:1;color:#87a6b8;font-size:12px}.loginright{display:flex;align-items:center;justify-content:center;padding:50px;min-width:0}.loginbox{width:390px;max-width:100%;min-width:0}.loginbox .field{margin:22px 0}.loginbox h1{font-size:31px;margin:20px 0 10px}.loginbox .btn{width:100%;margin-top:10px}.loginbox .tiny{margin-top:22px}.profileoptions{display:flex;gap:8px;margin:22px 0}.profileoptions button{padding:8px 12px;font-size:12px;border:1px solid #d7e4e9;background:white;border-radius:5px;color:#6a879b}.profileoptions button.active{background:#edf7f0;color:#348748;border-color:#bbd9c4}.costpanel{background:#f0f7f2;border:1px solid #cde1d2;border-radius:7px;padding:17px 20px;margin-top:17px}.costpanel .big{color:#2f7b43;margin:4px 0 0}.checklabel{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#6b8697;margin:18px 0}.checklabel input{margin-top:4px;width:17px;height:17px;flex:none}.iconrow{display:flex;align-items:center;gap:8px}.bar-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.bar-grid .connection{padding:20px;border:1px solid #d9e6ec;background:white;border-radius:8px}.connection h3{font-size:18px;margin-bottom:5px}.connection p{font-size:12px;color:#8399a7;min-height:62px}.connection .direction{font-size:11px;color:#4a8a5b;padding-top:15px;margin-top:15px;border-top:1px solid #e0eaef}.connection.mainconn{background:#f2f8f3;border-color:#c8dfce}@media(max-width:1150px){.shell{grid-template-columns:205px 1fr}.main{padding:25px 24px}.sidebar{padding-inline:10px}.brand{font-size:18px}.topbar{padding:0 24px}.two{grid-template-columns:1.5fr 1fr}.ingredient-row{grid-template-columns:1.2fr 1.1fr .9fr .65fr 30px}.kpis{gap:10px}.kpi{padding:16px}.task{padding:19px;gap:13px}.task strong{font-size:18px}}@media(max-width:800px){.shell{display:block}.sidebar{display:block;padding:15px}.sidebar .brand{padding:0 0 10px}.sidebar nav{display:flex;overflow:auto;gap:5px}.navlabel,.sidebottom{display:none}.navitem{white-space:nowrap;padding:9px 10px;font-size:12px}.topbar{height:65px;padding:0 16px}.crumb{display:none}.topright{width:100%;justify-content:space-between}.demo{font-size:9px}.main{padding:23px 16px}.heading{align-items:flex-start;flex-direction:column}h1{font-size:28px}.grid.two,.grid.equal,.grid.three,.bar-grid,.taskcards{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.kpi .value{font-size:25px}.tankcards{grid-template-columns:1fr}.trace{grid-template-columns:1fr 1fr}.formgrid{grid-template-columns:1fr}.field.full{grid-column:auto}.formfoot{align-items:flex-start;flex-direction:column}.formfoot .tiny{max-width:100%}.ingredient-row{grid-template-columns:1fr 1fr}.ingredient-row .remove{width:40px}.ingredient-row label:nth-child(1){grid-column:1/-1}.ingredient-row label:nth-child(4){grid-column:auto}.rowscroll table{min-width:660px}.foot{font-size:9px}.routecontrols{display:none}.login{grid-template-columns:1fr;min-width:0}.loginbrand{padding:30px;min-height:340px}.loginmessage{padding:40px 0}.loginmessage h1{font-size:36px}.loginbottom{display:none}.loginright{padding:35px 23px}.equation{flex-wrap:wrap}.equation b{font-size:22px}.steps i{width:20px}}
