:root{--line:#edebe9;--ink:#323130;--muted:#605e5c;--blue:#0f6cbd;--link:#115ea3;--hover:#f3f2f1;--canvas:#faf9f8;--purple:#742774;--bar:48px}*{box-sizing:border-box}html,body{height:100%;margin:0}body{color:var(--ink);background:var(--canvas);font-family:Segoe UI,"Segoe UI Web (West European)",-apple-system,sans-serif;font-size:14px}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}body>main{max-width:40rem;margin:3rem auto;padding:0 1.25rem}.login .pa-mark{color:var(--purple)}.login h1{margin:4px 0 8px;font-size:20px;font-weight:600}.login-sign-in{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:2px;margin-top:12px;padding:8px 16px}.app{background:#fff;flex-direction:column;height:100vh;display:flex}.appbar{height:var(--bar);background:var(--purple);color:#fff;flex:none;grid-template-columns:280px 1fr auto;align-items:center;gap:16px;padding:0 12px 0 16px;display:grid}.app-brand{align-items:baseline;gap:14px;min-width:0;display:flex}.pa-mark{font-size:16px;font-weight:600}.app-name{opacity:.95;font-size:14px}.app-search{color:#605e5c;background:#ffffffeb;border-radius:2px;justify-self:center;align-items:center;gap:8px;width:min(520px,100%);height:32px;padding:0 12px;font-size:14px;display:flex}.app-search input{color:#323130;font:inherit;background:0 0;border:0;flex:1;min-width:0}.app-search input:focus{outline:none}.app-user{color:#fff;align-items:center;gap:12px;display:flex}.appbar .command{color:#fff}.appbar .command:hover{background:#ffffff1f}.app-user form{margin:0}.app-body{flex:1;min-height:0;display:flex}.sitemap{border-right:1px solid var(--line);background:#f5f5f5;flex-direction:column;flex:none;width:220px;min-height:0;display:flex}.area-label{color:var(--muted);padding:12px 16px 4px;font-size:12px;font-weight:600}.nav-scroll{flex:1;padding-bottom:8px;overflow:auto}.nav-group{color:var(--muted);padding:10px 16px 2px;font-size:12px;font-weight:600}.nav-item,.nav-link{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:7px 16px 7px 24px;display:block}.nav-link{text-decoration:none}.nav-link:hover,.nav-item:hover{background:var(--hover);text-decoration:none}.nav-link.active{background:#fff;font-weight:600}.nav-link.quiet{color:var(--muted);cursor:default}.nav-item{color:#a19f9d;cursor:default}.area-switch{border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;background:#f5f5f5;align-items:center;gap:8px;padding:10px 16px;font-weight:600;display:flex}.area-dot{background:#107c10;border-radius:2px;flex:none;width:16px;height:16px}.area-switch:hover{background:var(--hover)}.app-main{background:#fff;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:auto}.view-header,.record-header{flex:none;padding:10px 16px 0}.dashboard{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:12px 16px 28px;display:grid}.dash-tile{border:1px solid var(--line);background:#fff;min-width:0}.dash-tile.span-2{grid-column:span 2}.dash-tile.span-3{grid-column:span 3}.dash-tile.span-4{grid-column:span 4}.dash-tile.rows-2{grid-row:span 2}.dash-tile h2{background:#fef7f5;margin:0;padding:8px 10px;font-size:14px;font-weight:600}.nested-row>td{background:#faf9f8;padding:0 0 8px 28px}.nested-row .grid-wrap{border:1px solid #edebe9}.jump-bar{flex-wrap:wrap;gap:1px 2px;margin:4px 10px 0;font-size:12px;line-height:18px;display:flex}.jump-bar a{color:#323130;text-align:center;min-width:14px;text-decoration:none}.jump-bar a[aria-current=true]{color:#0078d4;font-weight:700}.dash-tile .view-picker{max-width:calc(100% - 20px);margin:4px 10px 0}.stacked-chart{align-items:center;gap:8px;display:flex}.stacked-chart .chart{flex:1}.chart-legend{flex-direction:column;gap:4px;margin:0;padding:0 8px 0 0;font-size:12px;list-style:none;display:flex}.chart-legend span{width:10px;height:10px;margin-right:4px;display:inline-block}.chart{width:100%;height:180px}.bar-chart{flex-direction:column;gap:6px;padding:10px;display:flex}.bar-row{grid-template-columns:90px 1fr auto;align-items:center;gap:8px;font-size:12px;display:grid}.bar-label,.bar-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-track{background:#f3f2f1;height:10px}.bar-fill{background:#0078d4;height:100%;display:block}.pie-chart{align-items:center;gap:12px;padding:10px;display:flex}.pie{border-radius:50%;flex:none;width:120px;height:120px}.pie-chart ul{margin:0;padding-left:16px;font-size:12px}.view-header h1,.record-title{margin:0;font-size:20px;font-weight:600}.record-head{background:#fff;justify-content:space-between;gap:24px;padding:8px 16px 4px;display:flex}.record-sub{color:var(--muted);margin-top:2px;font-size:12px}.bpf{background:#fff;align-items:stretch;min-height:52px;margin:6px 12px 0;display:flex;overflow-x:auto}.bpf-name{color:#fff;white-space:nowrap;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);background:#0078d4;flex-direction:column;justify-content:center;padding:0 28px 0 14px;font-weight:600;display:flex}.bpf-name small{font-size:12px;font-weight:400}.bpf-stages{flex:1;min-width:0;display:flex}.bpf-stage{white-space:nowrap;text-align:left;cursor:pointer;background:#fff;border:1px solid #edebe9;border-left:0;flex:1 0 auto;align-items:center;gap:8px;padding:6px 16px;font-weight:600;display:flex}.bpf-stage.open,.bpf-stage:hover{background:#f3f2f1}.bpf-stage.done .bpf-dot{background:var(--blue)}.bpf-stage.pending .bpf-dot{border-color:#c8c6c4}.bpf-dot{border:3px solid var(--blue);background:#fff;border-radius:50%;flex:none;width:14px;height:14px}.bpf-flyout{background:#fff;border:1px solid #edebe9;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px 16px;margin:0 12px 8px;padding:12px 16px;display:grid;box-shadow:0 1.6px 3.6px #00000021}.view-note,.banner{background:#fff8f0;border:1px solid #f4d5b0;margin:8px 16px;padding:8px 10px}.banner.ok{background:#f1faf1;border-color:#9fd89f}.banner.error{background:#fdf6f6;border-color:#eeacb2}.commandbar{border-bottom:1px solid var(--line);z-index:2;background:#fff;flex:none;align-items:center;gap:2px;min-height:44px;padding:0 4px;display:flex;position:sticky;top:0;overflow-x:auto}.cmd-icon{flex:none;width:16px;height:16px}.commandbar form{margin:0}.command,.command:disabled{color:var(--ink);background:0 0;border:0;border-radius:2px;align-items:center;gap:6px;padding:8px 10px;display:inline-flex}button.command{cursor:pointer}span.command{cursor:default}.command:hover:not(:disabled){background:var(--hover)}.command:disabled{color:#a19f9d;cursor:default}.header-strip{flex:none;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px 20px;display:grid}.header-strip.cols-1{grid-template-columns:minmax(120px,1fr)}.header-strip.cols-2{grid-template-columns:repeat(2,minmax(120px,1fr))}.header-strip.cols-3{grid-template-columns:repeat(3,minmax(120px,1fr))}.header-value.with-affix{align-items:center;gap:8px;display:flex}.header-value.numeric{text-align:right}.header-field{min-width:0}.header-label,.field-label,.metric-label{color:var(--muted);font-size:12px}.header-value{font-size:14px;font-weight:600}.header-value.locked{color:var(--muted);align-items:center;gap:8px;display:flex}.header-value.locked a{color:inherit}.req{color:#a4262c}.header-value,.field-value,.metric-value{text-overflow:ellipsis;min-height:22px;overflow:hidden}.tabs{border-bottom:1px solid var(--line);flex:none;gap:4px;padding:0 8px;display:flex;overflow-x:auto}.tab{cursor:pointer;color:var(--ink);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 12px 8px;text-decoration:none}.tab.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.form-body{flex:1;min-height:720px;display:flex}.form-main{flex:50%;min-width:0;min-height:0;overflow:auto}.form-fields{padding:12px 16px 28px}.record-form-header{padding-bottom:4px}.form-fields[hidden]{display:none}.pills{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.pill{color:var(--ink);background:#f3f2f1;border:1px solid #e1dfdd;border-radius:2px;padding:7px 16px}.type-switch{background:#fff;border:1px solid #edebe9;grid-template-columns:repeat(3,1fr);margin-bottom:16px;display:grid}.type-switch span{text-align:center;border-left:1px solid #edebe9;padding:8px 4px}.type-switch span:first-child{border-left:0}.type-switch .on{background:#deecf9}.fields{flex-direction:column;gap:10px;display:flex}.metrics{grid-template-columns:1fr 1fr;gap:10px 28px;display:grid}.metrics.three{grid-template-columns:1fr 1fr 1fr}.metrics.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-value.numeric{text-align:right}.metric-value.with-affix{justify-content:space-between;align-items:center;gap:8px;display:flex}.field-row{grid-template-columns:1fr 1fr;column-gap:28px;display:grid}.field-row.wide{grid-template-columns:1fr}.field-row.cols-3{grid-template-columns:1fr 1fr 1fr}.field-row.cols-4{grid-template-columns:1fr 1fr 1fr 1fr}.field{flex-direction:column;gap:2px;min-height:52px;display:flex}.field-value{background:#fff;border-bottom:1px solid #8a8886;justify-content:space-between;align-items:center;gap:8px;min-height:32px;padding:4px 8px;display:flex}.field-value.lookup{color:var(--link)}.field-value.required{box-shadow:inset 3px 0 #a4262c}.field-value.locked{color:var(--muted);background:#f3f2f1}.field-value.check,.field-value.toggle{background:0 0;border-bottom:0;justify-content:flex-start;min-height:24px;padding-left:0}.field-value.check input{accent-color:#0078d4;width:16px;height:16px;margin:0}.field-value.memo{background:0 0;border-bottom:0;align-items:flex-start;padding:0}.field-value.memo textarea{flex:1}.field-value.memo.locked textarea{background:#f3f2f1}.field-value.duration{background:0 0;border-bottom:0;justify-content:flex-start;padding-left:0}.duration{align-items:center;gap:12px;display:flex}.duration label{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:flex}.duration input{width:52px;color:inherit;background:#fff;border:1px solid #8a8886;padding:4px 6px}.field-value.duration.locked input{background:#f3f2f1}.switch{background:#8a8886;border-radius:10px;width:40px;height:20px;display:inline-block;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;position:absolute;top:2px;left:2px}.switch.on{background:#0078d4}.switch.on:after{left:22px}.field-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:inherit;text-decoration:none;overflow:hidden}.field-value.numeric .field-text{text-align:right;margin-left:auto}a.field-text:hover{text-decoration:underline}.affix{color:var(--muted);flex:none;font-size:12px}.field-value.date,.field-value.required{box-shadow:inset 3px 0 #a4262c}.detail-columns{grid-template-columns:34fr 33fr 33fr;align-items:start;column-gap:28px;display:grid}.section-title,.grid-title{margin:18px 0 8px;padding-bottom:4px;font-weight:600}.section-title.bar,.grid-title{border-bottom:1px solid var(--line)}.subgrid-view{margin:0 0 4px;font-size:14px;font-weight:600}.comments{grid-template-columns:1fr 1fr;gap:16px;margin-top:8px;display:grid}.comments textarea{min-height:208px}.comments .field-value.locked{align-items:flex-start}.comments .field-value.locked textarea{min-width:0;color:inherit;background:0 0;border:0;flex:1}.comments label,.field-label{display:block}textarea{resize:vertical;background:#fff;border:1px solid #8a8886;width:100%;min-height:88px;padding:6px}textarea[readonly]{background:var(--canvas)}.supplier{grid-template-columns:160px 1fr 160px 1fr;gap:6px 8px;margin-top:8px;display:grid}.supplier dt{color:var(--muted);font-size:12px}.supplier dd{border-bottom:1px solid #8a8886;margin:0}.view-bar{background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:8px 12px 4px;display:flex}.view-picker{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:20px;font-weight:600}.view-picker.compact{font-size:14px}.view-tools{color:var(--ink);white-space:nowrap;align-items:center;gap:16px;font-size:14px;display:flex}.keyword{min-width:180px;height:32px;color:var(--muted);background:#fff;border:1px solid #8a8886;border-radius:2px;align-items:center;padding:0 8px;display:flex}.keyword input{width:100%;height:100%;color:var(--ink);background:0 0;border:0;padding:0}.keyword input:focus{outline:none}.subgrid-find{max-width:280px;margin:0 0 8px}.row-count{color:var(--muted);padding:4px 16px 16px;font-size:12px}.grid-pager{align-items:center;gap:12px;display:flex}.grid-pager a{color:var(--link)}.sort-mark{color:var(--muted);font-size:10px}.col-filter{margin-top:4px}.col-filter input{box-sizing:border-box;width:100%;font:inherit;font-size:12px}.col-sort{color:inherit;text-decoration:none}.col-sort:hover{text-decoration:underline}.check-col{text-align:center;width:36px}.grid-wrap{border:1px solid var(--line);margin:8px 0 0;overflow:auto}table{border-collapse:collapse;width:max-content;min-width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:top;text-overflow:ellipsis;padding:8px 12px;overflow:hidden}th{z-index:1;background:#fff;border-bottom:1px solid #d2d0ce;font-size:12px;font-weight:600;position:sticky;top:0}th.num,td.num{text-align:right}td a{color:var(--link)}tr:hover td{background:var(--hover)}.empty{color:var(--muted);white-space:normal}.notes{margin:8px 0 16px;padding:0;list-style:none}.notes li{border-bottom:1px solid var(--line);padding:8px 0}.notes.cozy li{border:1px solid var(--line);background:#fff;border-radius:4px;margin:0 0 8px;padding:10px 12px}.note-meta{color:var(--muted);font-size:12px}.note-file{margin-top:4px;font-size:13px}.note-body{white-space:pre-wrap;margin:4px 0 0}.pdf-pane{border-left:1px solid var(--line);background:var(--canvas);flex-direction:column;flex:50%;width:auto;min-width:280px;max-width:none;min-height:0;display:flex}.pdf-pane.inline{border-left:0;border-top:1px solid var(--line);width:100%;min-width:0;max-width:none;margin-top:16px}.matching-canvas{grid-template-columns:1fr 1fr;align-items:start;gap:16px;margin-top:8px;display:grid}.matching-canvas .pdf-pane.inline{min-height:480px;margin-top:0}.quick-view{border:1px solid var(--line);margin-top:12px;padding:8px 8px 0}.pdf-bar{color:#fff;background:#3b3a39;flex:none;align-items:center;gap:8px;padding:6px 10px;display:flex}.pdf-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.pdf-count{color:#fff;flex:none;font-size:12px}.pdf-bar select{color:#fff;background:0 0;border:0;flex:1;min-width:0;max-width:none}.pdf-bar select option{color:#000}.pdf-nav{color:#fff;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:18px;line-height:1}.pdf-nav:disabled{opacity:.35;cursor:default}.pdf-bar a{color:#fff;padding:0 4px;font-size:16px;text-decoration:none}.pdf-stage{background:#fff;flex:1;min-height:640px;position:relative}.pdf-stage embed,.pdf-stage img,.pdf-stage iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.pdf-stage img{object-fit:contain;height:auto;max-height:100%;position:static}.pdf-message{color:var(--muted);padding:16px}.page-message{padding:24px 16px}@media (max-width:1100px){.form-body{flex-direction:column}.form-fields{display:block!important}.matching-canvas{grid-template-columns:1fr}.form-main,.pdf-pane{flex:auto;width:100%}.pdf-pane{border-left:0;border-top:1px solid var(--line);max-width:none;min-height:480px}.header-strip,.header-strip.cols-2,.header-strip.cols-3,.header-strip.cols-4,.field-row,.field-row.cols-3,.field-row.cols-4,.detail-columns,.comments,.supplier,.metrics,.metrics.three,.metrics.four{grid-template-columns:1fr}}
