@import "https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap";
:root{--ink:#333;--muted:#666;--faint:#999;--page:#f8f8f8;--panel:#fff;--line:#ddd;--line-soft:#eee;--bar:#333;--blue:#0088f0;--cyan:#00bdff;--green:#81bc00;--magenta:#a30094;--red:#cc001e;--orange:#ef7d00;--amber:#f2a700;--teal:#00a0a0}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:400 14px/1.5 Open Sans,Arial,Helvetica,sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}header.top{background:var(--bar);z-index:100;align-items:stretch;height:56px;display:flex;position:sticky;top:0}.stripe{height:5px;display:flex}.stripe i{flex:1;display:block}nav.main{align-items:stretch;display:flex}nav.main .menu{align-items:stretch;display:flex;position:relative}nav.main .menu>a,nav.main .menu>span{color:var(--faint);white-space:nowrap;align-items:center;padding:0 15px;font-size:14px;display:flex}nav.main .menu>a:hover{color:#fff;text-decoration:none}nav.main .menu.active>a,nav.main .menu.active>span{color:#fff}nav.main .menu>span.off{color:#666;cursor:default}.dropdown{border:1px solid var(--line);z-index:110;background:#fff;min-width:230px;padding:4px 0;display:none;position:absolute;top:100%;left:0;box-shadow:0 3px 10px #0000002e}.menu:hover .dropdown{display:block}.dropdown a,.dropdown span{color:var(--ink);white-space:nowrap;padding:10px 16px;font-size:14px;display:block}.dropdown a:hover{background:#f2f2f2;text-decoration:none}.dropdown span.off{color:#bbb;cursor:default}.topright{color:#fff;align-items:center;gap:16px;margin-left:auto;padding:0 18px;display:flex}.topright .co{text-align:right;font-size:15px;line-height:1.25}.topright .co small{font-size:12px;display:block}.topright .co small a{color:var(--blue)}.topright form{display:flex}.topright input{width:175px;color:var(--ink);background:#fff;border:0;padding:6px 8px;font-size:12px}.topright button{background:var(--blue);color:#fff;cursor:pointer;border:0;padding:6px 12px}.crown{color:#fff;background:#222;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;font-weight:700;display:flex}main{background:#fff;min-height:calc(100vh - 61px);padding:18px 24px 60px}h1{color:var(--ink);vertical-align:middle;margin:0 10px 10px 0;font-size:28px;font-weight:700;display:inline-block}.count{vertical-align:middle;color:var(--ink);background:#eee;margin-bottom:10px;padding:4px 10px;font-size:14px;display:inline-block}h2{margin:26px 0 10px;font-size:22px;font-weight:700}.sub{color:var(--muted);margin:0 0 14px;font-size:13px}.searchbar{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:12px;display:flex}.searchbar .grow{flex:1;min-width:260px}.searchbar label{color:var(--muted);margin-bottom:3px;font-size:12px;display:block}.searchbar input[type=search],.searchbar input[type=text]{width:100%}.actions{gap:6px;margin-left:auto;display:flex}.viewbar{color:var(--ink);align-items:center;gap:18px;margin-bottom:12px;font-size:14px;display:flex}.viewbar .drop{color:var(--ink)}.viewbar .drop b{font-weight:600}.viewbar .right{color:#bbb;gap:12px;margin-left:auto;display:flex}.alpha{border-bottom:1px solid var(--line);gap:0;margin-bottom:0;display:flex}.alpha a{text-align:center;color:var(--blue);border-bottom:2px solid #0000;flex:1;padding:6px 0;font-size:13px}.alpha a.on{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}.alpha a:hover{background:#f6f6f6;text-decoration:none}input[type=search],input[type=text],input[type=date],input[type=email],input[type=password],input[type=number],select,textarea{color:var(--muted);background:#fff;border:1px solid #ccc;border-radius:0;padding:5px 6px;font-family:inherit;font-size:12px}input:focus,select:focus,textarea:focus{border-color:var(--blue);color:var(--ink);outline:none}button,.btn{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:0;padding:6px 12px;font-family:inherit;font-size:14px;display:inline-block}button:hover,.btn:hover{filter:brightness(1.08);color:#fff;text-decoration:none}button:disabled{opacity:.55;cursor:default}button.green,.btn.green{background:var(--green)}button.ghost{color:var(--muted);background:#fff;border:1px solid #ccc}button.ghost:hover{filter:none;background:#f2f2f2}.circles{float:right;gap:8px;display:flex}.circles a{border:1px solid var(--line);width:40px;height:40px;color:var(--muted);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.circles a:hover{background:#f2f2f2;text-decoration:none}.scroll{border-top:1px solid var(--line);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:#fafafa;padding:9px 10px;font-size:13px;font-weight:400}td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:9px 10px}tbody tr:hover{background:#fafafa}td.num,th.num{text-align:right}td .second{color:var(--muted);margin-top:2px;font-size:13px}tr.sep td{color:var(--muted);background:#f6f6f6;padding:5px 10px;font-size:13px}td.statebar{width:5px;padding:0}.state-quotation{background:var(--orange)}.state-order{background:var(--green)}.state-draft{background:var(--teal)}.state-inquiry{background:var(--faint)}.pill{color:var(--muted);white-space:nowrap;background:#eee;padding:2px 8px;font-size:12px;display:inline-block}.pill.blue{background:var(--blue);color:#fff}.pill.green{background:var(--green);color:#fff}.pill.orange{background:var(--orange);color:#fff}.pill.red{background:var(--red);color:#fff}.pill.cyan{background:var(--cyan);color:#fff}.statstrip{flex-wrap:wrap;gap:2px;margin:12px 0 22px;display:flex}.statstrip div{background:var(--blue);color:#fff;min-width:150px;padding:10px 16px}.statstrip div b{font-size:18px;font-weight:400;display:block}.statstrip div span{font-size:13px}.tile{color:#fff;text-align:center;padding:22px}.tile .t{margin-bottom:14px;font-size:17px;font-weight:700}.tile .v{font-size:54px;font-weight:300;line-height:1}.tile .s{opacity:.9;margin-top:6px;font-size:13px}.tile.green{background:var(--green)}.tile.orange{background:var(--orange)}.tile.blue{background:var(--blue)}.tile.cyan{background:var(--cyan)}.tile.red{background:var(--red)}.tile.teal{background:var(--teal)}.tile.amber{background:var(--amber)}.pipeline{color:#fff;background:#333;margin-bottom:18px;padding:20px 24px}.pipeline h3{margin:0 0 18px;font-size:19px;font-weight:600}.pipeline .row{flex-wrap:wrap;gap:40px;display:flex}.pipeline .m .v{font-size:34px;font-weight:300}.pipeline .m .k{letter-spacing:.06em;text-transform:uppercase;color:#ccc;font-size:12px}.pipeline .m .track{background:#fff;width:280px;max-width:40vw;height:6px;margin-top:8px}.pipeline .m .track i{height:100%;display:block}.detail{grid-template-columns:minmax(0,1fr) 480px;align-items:start;gap:26px;display:grid}@media (max-width:1280px){.detail{grid-template-columns:1fr}}.side h3{color:var(--faint);margin:0 0 10px;padding-top:6px;font-size:22px;font-weight:400}.side .panel{border:1px solid var(--line);margin-bottom:20px}.side .grid{grid-template-columns:repeat(3,1fr);display:grid}.side .grid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:10px 12px}.side .grid>div:nth-child(3n){border-right:0}.side .grid>div .v{white-space:nowrap;font-size:19px}.side .grid>div .k{color:var(--muted);font-size:11px;line-height:1.3}.side dl{grid-template-columns:auto 1fr;gap:5px 10px;margin:0;padding:12px;font-size:14px;display:grid}.side dl dt{color:var(--ink)}.side dl dd{color:var(--ink);margin:0}.lineedit{justify-content:flex-end;align-items:center;gap:4px;display:flex}.lineedit input{text-align:right;width:58px;padding:3px 5px}.lineedit button{padding:3px 8px;font-size:12px}.fields{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.fields label{color:var(--muted);margin-bottom:3px;font-size:12px;display:block}.fields .f input{min-width:130px}.pager{color:var(--muted);align-items:center;gap:10px;margin-top:14px;font-size:13px;display:flex}.pager a{border:1px solid var(--line);background:#fff;padding:5px 11px}.pager a:hover{background:#f2f2f2;text-decoration:none}.empty{color:var(--muted);text-align:center;padding:26px 0}.thumb{object-fit:contain;border:1px solid var(--line-soft);background:#fff;width:34px;height:34px}.avatar{color:#fff;justify-content:center;align-items:center;width:46px;height:46px;font-size:22px;font-weight:600;display:flex}dl.kv{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:14px;display:grid}dl.kv dt{color:var(--muted)}dl.kv dd{text-align:right;margin:0}.card{border:1px solid var(--line);background:#fff;padding:12px 14px}.cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.card .n{font-size:22px}.card .k{color:var(--muted);font-size:12px}.grid2{grid-template-columns:1.5fr 1fr;align-items:start;gap:22px;display:grid}@media (max-width:1000px){.grid2{grid-template-columns:1fr}}.prodgrid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:26px 22px;display:grid}.prod .img{justify-content:center;align-items:center;height:170px;padding:8px;display:flex;position:relative}.prod .fav{color:#dcdcdc;cursor:pointer;font-size:20px;position:absolute;top:4px;right:4px}.prod .fav:hover{color:#bbb}.prod .img img{object-fit:contain;max-width:100%;max-height:100%}.prod .groupbar{height:4px;position:relative}.prod .grouptag{color:#fff;padding:1px 7px;font-size:12px;position:absolute;top:-18px;right:0}.prod .modes{gap:2px;margin-top:4px;display:flex}.prod .modes span{text-align:center;color:#aaa;background:#f2f2f2;flex:1;padding:6px 0;font-size:13px}.prod .modes span.on{background:var(--blue);color:#fff}.prod .nm{margin-top:10px;font-size:17px}.prod .nm a{color:var(--ink)}.prod .nm a:hover{color:var(--blue)}.prod .meta{color:var(--muted);justify-content:space-between;margin-top:8px;font-size:13px;display:flex}.avail{gap:2px;display:flex}.avail .d{text-align:center;flex:1;font-size:11px}.avail .d .bar{color:#5a8a00;background:#eef7e6;justify-content:center;align-items:center;height:28px;font-size:13px;font-weight:600;display:flex}.avail .d .bar.low{color:#a86b00;background:#fdf3e0}.avail .d .bar.none{color:var(--red);background:#fbe6e8}.avail .d .lbl{color:var(--muted);margin-top:3px;font-size:11px}.listrows{border-top:1px solid var(--line)}.listrow{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:12px;padding:9px 12px 9px 0;display:flex}.listrow:hover{background:#fafafa}.listrow .statebar{background:var(--line);flex:none;align-self:stretch;width:5px}.listrow .sq{color:#fff;text-transform:uppercase;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:17px;font-weight:600;display:flex}.listrow .body{flex:1;min-width:0}.listrow .primary{font-size:14px}.listrow .primary .tag{color:var(--muted);margin-left:8px;font-size:12px}.listrow .secondary{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.listrow .secondary .sep{color:#ccc;margin:0 6px}.listrow .figures{text-align:right;color:var(--muted);flex:none;font-size:12px}.listrow .figures b{color:var(--ink);font-size:14px;font-weight:400;display:block}.form{flex-direction:column;gap:12px;display:flex}.form label{color:var(--muted);font-size:12px;display:block}.form label input,.form label select,.form label textarea{width:100%;color:var(--ink);margin-top:3px;font-size:13px;display:block}.form .row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:700px){.form .row2{grid-template-columns:1fr}}.tick{width:20px;height:20px;color:var(--green);cursor:pointer;background:#fff;border:1px solid #bbb;flex:none;padding:0;font-size:13px;line-height:1}.tick:hover{border-color:var(--green);background:#f4faee}.linkish{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.linkish:hover{color:var(--red);text-decoration:underline}.cal{border:1px solid var(--line);border-bottom:0;border-right:0;grid-template-columns:repeat(7,1fr);display:grid}.calhead{color:var(--muted);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#f4f4f4;padding:6px 8px;font-size:12px}.calday{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-height:104px;padding:4px}.calday.pad{background:#fafafa}.calday.today{background:#fffdf0}.calday .n{color:var(--muted);margin-bottom:3px;font-size:12px}.calday.today .n{color:var(--ink);font-weight:600}.cal .ev{border-left:3px solid var(--blue);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;background:#f4f8fc;margin-bottom:2px;padding:2px 4px;font-size:11px;line-height:1.3;display:block;overflow:hidden}.cal .ev:hover{background:#e9f1fa;text-decoration:none}.cal .ev.act{border-left-color:var(--green);background:#f4faee}.cal .ev .t{color:var(--muted);margin-right:4px}@media (max-width:900px){.calday{min-height:76px}}.setgrid{border-top:1px solid var(--line)}.setrow{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:16px;padding:9px 0;display:grid}.setrow label{color:var(--ink);font-size:14px}.setrow .hint{color:var(--muted);margin-top:2px;font-size:12px;display:block}.setrow input[type=text],.setrow input[type=number],.setrow select{width:100%}.setrow input[type=checkbox]{width:auto}@media (max-width:800px){.setrow{grid-template-columns:1fr}}.inlinerow{flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;display:flex}.inlinecheck{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.gear{color:#bbb;margin-right:4px;font-size:19px;line-height:1;text-decoration:none}.gear:hover{color:#fff;text-decoration:none}.flash{border-left:4px solid;margin:10px 0;padding:9px 12px;font-size:14px}.flash.ok{border-color:var(--green);color:#3a5c00;background:#f1f8e9}.flash.bad{border-color:var(--red);color:#8c0014;background:#fdecee}.planner td{vertical-align:top}.planner .ev{margin-bottom:2px;padding:1px 4px;font-size:11px}.gantt{border-collapse:collapse;width:100%}.gantt th{text-align:center;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);padding:4px 2px;font-size:10px}.gantt th:first-child{text-align:left}.gantt th.today,.gantt td.today{background:#fffdf0}.gantt td{border-bottom:1px solid var(--line);padding:4px 6px;font-size:13px}.gantt .bar{color:#fff;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;padding:3px 6px;font-size:10px;display:block;overflow:hidden}.gantt .bar:hover{filter:brightness(1.1);text-decoration:none}.pipeline-panel{color:#fff;background:#333;margin-bottom:18px;padding:18px 22px 22px}.pipeline-panel h2{color:#fff;margin:0 0 14px;font-size:19px;font-weight:600}.pipeline-grid{grid-template-columns:repeat(3,1fr) 1.4fr;gap:26px;display:grid}.pipeline-n{font-size:34px;font-weight:300;line-height:1.1}.pipeline-label{text-transform:uppercase;color:#fff;margin-top:2px;font-size:14px}.pipeline-bar{background:#fff;max-width:260px;height:7px;margin:9px 0 5px}.pipeline-bar span{height:100%;display:block}.pipeline-of{text-transform:uppercase;color:#bbb;font-size:12px;line-height:1.5}.pipeline-value .pipeline-n{font-size:30px}@media (max-width:1000px){.pipeline-grid{grid-template-columns:repeat(2,1fr)}}.tiles{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.tile{color:#fff;text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;min-height:210px;padding:20px 16px;display:flex}.tile:hover{filter:brightness(1.06);text-decoration:none}.tile-title{font-size:17px;font-weight:600;line-height:1.25}.tile-n{margin-top:auto;font-size:56px;font-weight:300;line-height:1.1}.tile-pair{gap:34px;margin-top:auto;display:flex}.tile-pair span{font-size:13px}@media (max-width:1200px){.tiles{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.tiles{grid-template-columns:1fr}}.donut{border-radius:50%;width:26px;height:26px;margin-bottom:3px;-webkit-mask:radial-gradient(circle,#0000 8px,#000 9px);mask:radial-gradient(circle,#0000 8px,#000 9px)}td.rowacts{white-space:nowrap;text-align:right;color:#ccc;font-size:15px}td.rowacts a{color:var(--blue);margin-right:8px}td.rowacts span:hover{color:#bbb;cursor:pointer}tfoot td.subtotal{border-top:2px solid var(--line);padding-top:8px;font-weight:600}tfoot td{border-bottom:none}.panel .note{color:var(--muted);margin:8px 0 0;font-size:11px;line-height:1.45}.sechead{justify-content:space-between;align-items:baseline;gap:12px;margin:26px 0 8px;display:flex}.sechead h2{margin:0}.secacts{align-items:center;gap:8px;display:flex}.secacts .btn.green{background:var(--green);color:#fff;white-space:nowrap;border:none;padding:5px 10px;font-size:12px;text-decoration:none}.secacts .btn.green:hover{filter:brightness(.93)}.adminlist{border:1px solid var(--line);background:#fff}.adminrow{border-bottom:1px solid var(--line);padding:9px 12px;display:flex}.adminrow:last-child{border-bottom:none}.adminrow .primary{align-items:center;gap:8px;display:flex}.adminrow .secondary{color:var(--muted);margin-top:2px;font-size:12px}.adminrow .unbuilt{color:var(--muted)}.adminrow .pill{color:#777;background:#eee;font-size:10px}.filter{display:inline-block;position:relative}.filter>summary{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;padding:3px 0;font-size:13px;list-style:none}.filter>summary::-webkit-details-marker{display:none}.filter>summary:after{content:" ▾";color:var(--faint)}.filter>summary b{color:var(--ink);font-weight:600}.filter>summary:hover{color:var(--blue)}.filtermenu{z-index:40;border:1px solid var(--line);background:#fff;min-width:200px;max-height:340px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 2px 6px #00000024}.filtermenu.wide{min-width:280px}.filtermenu a,.filtermenu span{color:var(--ink);white-space:nowrap;justify-content:space-between;gap:14px;padding:7px 12px;font-size:13px;display:flex}.filtermenu a:hover{background:#f2f2f2;text-decoration:none}.filtermenu span.on{color:var(--muted);background:#f8f8f8;font-weight:600}.filtermenu .n{color:var(--faint)}.formgrid{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.formgrid label{display:block}.formgrid label.wide{grid-column:1/-1}.formgrid label>span{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.formgrid input,.formgrid select,.formgrid textarea{width:100%}@media (max-width:700px){.formgrid{grid-template-columns:1fr}}.thread{border:1px solid var(--line);background:#fff}.msg{border-bottom:1px solid var(--line);padding:12px 14px}.msg:last-child{border-bottom:none}.msghead{align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.msghead .when{color:var(--muted);font-size:12px}.msgbody{white-space:pre-wrap;font-size:13px;line-height:1.55}
