:root{--zd-navy:#0f2d52;--zd-blue:#1e6fd9;--zd-blue-mid:#0b5fa8;--zd-ink:#1e293b;--zd-text:#334155;--zd-muted:#94a3b8;--zd-muted2:#64748b;--zd-line:#edf1f6;--zd-line2:#e2e8f0;--zd-page:#f4f7fb;--side:#133461;--side-on:#2a5597;--side-text:#e6edf7;--good:#059669;--bad:#dc2626;--warn:#d97706;--shadow:0 1px 2px #1018280a, 0 1px 3px #1018280f;--zion-navy:#0f2d52;--zion-blue:#1e6fd9;--ink:#1e293b;--muted:#64748b;--line:#e2e8f0}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--zd-page);color:var(--zd-ink);font-family:"Source Sans 3",Source Sans Pro,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px}a{color:var(--zd-blue)}hr{border:0;border-top:1px solid var(--zd-line2);width:100%;margin:10px 0}.muted{color:var(--zd-muted2)}.small{font-size:13px}.caption{color:var(--zd-muted2);margin:0;font-size:.82rem;line-height:1.4}.pad-s{padding:10px 4px 0}.ico{flex:none;width:18px;height:18px}.warn-text{color:#a15c00;margin:0;font-size:13px}.ok-text{color:var(--good);font-weight:600}.err-text{color:var(--bad);font-weight:600}.bar{background:var(--zd-navy);color:#fff;letter-spacing:.02em;padding:18px 32px;font-weight:700}.wrap{max-width:880px;margin:0 auto;padding:48px 24px}.lead{color:var(--zd-muted2);margin:0 0 32px;font-size:17px}.card{border:1px solid var(--zd-line2);background:#fff;border-radius:12px;margin-bottom:16px;padding:20px 24px}.row{justify-content:space-between;align-items:center;gap:16px;display:flex}.label{font-weight:600}.sub{color:var(--zd-muted2);margin-top:4px;font-size:14px}.ok{color:#1f8a4c;background:#e7f5ec}.wait{color:var(--zd-muted2);background:#eef2f8}.err{color:#b42318;background:#fdecea}footer{color:var(--zd-muted2);text-align:center;padding:24px;font-size:13px}.pill{white-space:nowrap;border-radius:999px;font-size:13px;font-weight:600}.wrap .pill{padding:4px 12px}.shell{min-height:100vh;display:flex}.side{background:var(--side);width:244px;color:var(--side-text);z-index:5;flex-direction:column;flex:0 0 244px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.brand{flex-direction:column;gap:9px;padding:0 0 22px 12px;display:flex}.brand img{width:92px}.brand span{color:#fff;letter-spacing:.01em;font-size:1.05em;font-weight:600}.side nav{flex-direction:column;gap:2px;display:flex}.side nav a{color:var(--side-text);border-radius:10px;align-items:center;gap:12px;padding:9px 14px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.side nav a svg{opacity:.9;width:19px;height:19px}.side nav a:hover{background:#ffffff14}.side nav a.on{background:var(--side-on);color:#fff;font-weight:600}.me{border-top:1px solid #ffffff1f;flex-direction:column;gap:2px;margin-top:auto;padding:14px 10px 0;font-size:14px;display:flex}.me b{color:#fff}.me span{color:#e6edf799;font-size:12px}.me button{color:var(--side-text);font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:8px;margin-top:10px;padding:7px}.me button:hover{color:#fff;border-color:#fff}.main{flex:1;min-width:0;padding:40px 32px 56px}@media (max-width:860px){.shell{flex-direction:column}.side{flex-flow:wrap;flex:none;align-items:center;gap:6px;width:auto;height:auto;padding:10px 16px;position:static}.brand{flex-direction:row;align-items:center;padding:0}.brand img{width:38px}.side nav{flex-flow:wrap}.side nav a{padding:7px 10px;font-size:14px}.me{border:0;flex-direction:row;align-items:center;gap:10px;margin:0 0 0 auto;padding:0}.me b,.me span{display:none}.me button{margin:0}.main{padding:20px 16px 40px}}.center{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-bg{background:linear-gradient(160deg,#0f2d52 0%,#133461 100%)}.narrow{width:100%;max-width:400px;padding:32px}.narrow h2{margin:8px 0 6px}.logo-sm{background:var(--zd-navy);border-radius:12px;width:64px;padding:8px}.field{color:var(--zd-text);flex-direction:column;gap:5px;min-width:0;font-size:14px;font-weight:500;display:flex}.field em{color:var(--zd-muted2);font-size:12px;font-style:normal;font-weight:400}.field input,.field select,.field textarea,.grid-table input,.grid-table select,textarea.ta{font:inherit;border:1px solid var(--zd-line2);color:var(--zd-ink);background:#f8fafc;border-radius:10px;width:100%;min-width:0;padding:8px 11px;font-size:15px;font-weight:400}.field input:focus,.field select:focus,.field textarea:focus,.grid-table input:focus,.grid-table select:focus,textarea.ta:focus{border-color:var(--zd-blue);background:#fff;outline:none;box-shadow:0 0 0 3px #1e6fd91f}.field input[type=checkbox],.grid-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--zd-blue);padding:0}.narrow-field{max-width:260px}.btn{font:inherit;border:1px solid var(--zd-line2);color:var(--zd-ink);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:15px;font-weight:600;display:inline-flex}.btn:hover{background:#f8fafc;border-color:#cbd5e1}.btn.primary{background:var(--zd-blue);border-color:var(--zd-blue);color:#fff}.btn.primary:hover{background:var(--zd-blue-mid)}.btn:disabled{opacity:.55;cursor:default}.btn.small{align-self:flex-start;padding:6px 12px;font-size:14px}.btn.ghost{color:var(--zd-blue);background:0 0;border-color:#0000}.btn.ghost:hover{background:#eef4fd}.btn.danger{color:#fff;background:#dc2626;border-color:#dc2626}.btn.danger-outline{color:#b91c1c;border-color:#fecaca}.btn.wide,.wide-btn{width:100%}.wide{width:100%;margin-top:20px}.alert{color:#b91c1c;background:#fef2f2;border-radius:10px;padding:10px 12px;font-size:14px}.info{color:#1e40af;background:#eff6ff;border-radius:10px;padding:10px 12px;font-size:14px}.success{color:#047857;background:#ecfdf5;border-radius:10px;padding:10px 12px;font-size:14px}.stack{flex-direction:column;gap:10px;display:flex}.two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.row-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.icon-btn{color:var(--zd-muted2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 6px;font-size:20px;line-height:1}.icon-btn:hover{color:var(--zd-ink);background:#f1f5f9}.total-line{font-size:14px}.meta-line a{font-weight:600;text-decoration:none}.pop-trigger{font:inherit;cursor:pointer}.pop-panel{z-index:1000;border:1px solid var(--zd-line2);background:#fff;border-radius:12px;padding:14px 16px;position:fixed;overflow:auto;box-shadow:0 12px 32px #0f2d5229,0 2px 6px #0f2d5214}.menu{flex-direction:column;margin:-6px -8px;display:flex}.menu-item{all:unset;cursor:pointer;color:var(--zd-ink);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.menu-item:hover{background:#f1f5f9}.menu-item.on{background:#eef4fd;font-weight:700}.dot{border-radius:999px;flex:none;width:12px;height:12px}.toast{z-index:2000;border-radius:12px;max-width:420px;padding:12px 16px;font-size:14px;font-weight:600;animation:.18s ease-out toastin;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 30px #0f2d5233}.toast-ok{color:#fff;background:#0f2d52}.toast-err{color:#fff;background:#b91c1c}@keyframes toastin{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.zd-page-title{color:var(--zd-navy);letter-spacing:-.01em;font-size:1.65rem;font-weight:700;line-height:1.2}.zd-page-sub{color:var(--zd-muted2);margin:.25rem 0 1.1rem;font-size:.95rem}.zd-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}@media (max-width:1100px){.zd-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.zd-stats{grid-template-columns:1fr}}.zd-stat{min-height:106px;box-shadow:var(--shadow);background:#fff;border-radius:16px;align-items:center;gap:1.1rem;padding:1.25rem 1.4rem;display:flex}.zd-stat-icon{border-radius:999px;flex:0 0 52px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.zd-stat-icon svg{width:24px;height:24px}.zd-stat-label{color:var(--zd-muted);letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;font-weight:600}.zd-stat-value{color:var(--zd-ink);margin-top:.15rem;font-size:1.55rem;font-weight:500;line-height:1.25}.zd-stat-sub{color:var(--zd-muted);margin-top:.1rem;font-size:.75rem}.zd-panel{box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:.4rem 1rem 1.2rem}.zd-toolbar{border-bottom:1px solid var(--zd-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:.55rem 0 .75rem;display:flex}.zd-search{min-width:200px;max-width:520px;font:inherit;color:var(--zd-text);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") 2px/18px no-repeat;border:0;outline:none;flex:1;padding:8px 8px 8px 32px;font-size:.95rem}.zd-search::placeholder{color:#a0aec0}.zd-tb-actions{align-items:center;gap:6px;display:flex}.tb-ghost{color:var(--zd-blue);white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:.35rem .6rem;font-weight:600;display:inline-flex}.tb-ghost:hover,.tb-ghost.is-open{color:var(--zd-blue-mid);background:#eef4fd}.tb-primary{background:var(--zd-blue);color:#fff;white-space:nowrap;border:0;border-radius:10px;align-items:center;gap:6px;padding:.5rem 1rem;font-weight:600;display:inline-flex}.tb-primary:hover{background:var(--zd-blue-mid)}.zd-scroll{overflow-x:auto}.zd-grid{min-width:1120px}.zd-cols{grid-template-columns:1.25fr .9fr .76fr .76fr .76fr 1.38fr 1.32fr .9fr 1fr .72fr .28fr;align-items:center;gap:.375rem;display:grid}.zd-colhead{z-index:3;border-bottom:1px solid var(--zd-line);background:#fff;padding:.85rem .5rem .6rem calc(.6rem + 3px);position:sticky;top:0}.zd-col-head{color:var(--zd-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:600;line-height:1.25}.zd-group{border-radius:12px;transition:background .12s}.zd-group.drop-on{outline:2px dashed var(--zd-blue);outline-offset:2px;background:#eef4fd}.zd-gh{color:#fff;border-radius:10px;align-items:center;gap:8px;margin-top:1.1rem;padding:.3rem .5rem .3rem .6rem;display:flex}.zd-gh-toggle{all:unset;cursor:pointer;color:#fff;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:20px;line-height:1;display:flex}.zd-gh-toggle:hover,.zd-gh-btn:hover,.zd-gh-btn.is-open{background:#ffffff2e}.zd-gh-title{flex-wrap:wrap;flex:1;align-items:center;font-size:.98rem;font-weight:600;display:flex}.zd-gh-count{background:#ffffff38;border-radius:999px;margin-left:.45rem;padding:.05rem .55rem;font-size:.72rem;font-weight:700}.zd-gh-rev{border-left:1px solid #ffffff59;margin-left:.85rem;padding-left:.85rem;font-size:.92rem;font-weight:700}.zd-gh-total{color:#ffffffd9;white-space:nowrap;margin-right:6px;font-size:.82rem}.zd-gh-btn{color:#fff;background:0 0;border:0;border-radius:6px;padding:4px;display:flex}.zd-row{border-bottom:1px solid var(--zd-line);border-left:3px solid var(--zd-blue);background:#fff;padding:.7rem .5rem .7rem .6rem}.zd-row.alt{background:#f8fafd}.zd-row:hover{background:#f3f7fd}.zd-cell-name{min-width:0}.zd-name{color:var(--zd-ink);cursor:pointer;font-size:1.12rem;font-weight:600;line-height:1.3;text-decoration:none;display:block}.zd-name:hover{color:var(--zd-blue);text-decoration:underline}.zd-sub{color:var(--zd-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.78rem;overflow:hidden}.zd-cd-ok{color:#059669;font-weight:600}.zd-cd-warn{color:#d97706;font-weight:600}.zd-cd-late{color:#dc2626;font-weight:600}.zd-cd-unset{color:var(--zd-muted)}.zd-cd-done{color:#059669;font-weight:600}.zd-cell-txt{color:var(--zd-text);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-size:.88rem;overflow:hidden}.zd-cell-txt.zd-wrap{white-space:normal;line-height:1.25}.zd-cell-pill,.zd-cell-total{min-width:0}.zd-total-btn{all:unset;cursor:pointer;color:var(--zd-ink);white-space:nowrap;font-size:.95rem;font-weight:600}.zd-total-btn:hover,.zd-total-btn.is-open{color:var(--zd-blue)}.zd-cell-more{justify-content:flex-end;display:flex}.zd-more-btn{color:#64748b;background:0 0;border:0;border-radius:8px;padding:4px;display:flex}.zd-more-btn:hover,.zd-more-btn.is-open{color:var(--zd-ink);background:#eef2f7}button.pill{all:unset;cursor:pointer;width:100%;max-width:210px;display:block}.pill-inner{letter-spacing:.04em;text-transform:uppercase;color:#64748b;white-space:nowrap;border:1.5px solid #cbd5e1;border-radius:999px;justify-content:space-between;align-items:center;gap:4px;min-height:28px;padding:0 8px 0 12px;font-size:.68rem;font-weight:700;display:flex;overflow:hidden}.pill-caret{opacity:0;font-size:.8rem;font-style:normal;transition:opacity .12s}button.pill:hover .pill-caret,button.pill.is-open .pill-caret{opacity:.85}button.pill:focus-visible .pill-inner{box-shadow:0 0 0 3px #1e6fd933}.pill-empty .pill-inner{color:#a0aec0}.zd-charge-line{color:#475569;justify-content:space-between;gap:1rem;padding:.1rem 0;font-size:.86rem;display:flex}.zd-charge-line.zd-charge-total{color:var(--zd-ink);border-top:1px solid var(--zd-line2);margin-top:.25rem;padding-top:.3rem;font-weight:700}.progress-text{color:var(--zd-text);margin-bottom:4px;font-size:13px}.progress-track{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:var(--zd-blue);border-radius:999px;height:100%}.settings{flex-direction:column;gap:10px;display:flex}.zd-h{color:var(--zd-muted);letter-spacing:.14em;text-transform:uppercase;margin:.2rem 0 .1rem;font-size:.72rem;font-weight:600}.grid-table{border:1px solid var(--zd-line2);border-radius:10px;overflow:hidden}.gt-head,.gt-row{align-items:center;gap:8px;padding:6px 10px;display:grid}.gt-head{color:var(--zd-muted2);text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;font-size:12px;font-weight:600}.gt-row{border-top:1px solid var(--zd-line);font-size:14px}.gt-row input,.gt-row select{padding:5px 8px!important;font-size:14px!important}.color-cell{align-items:center;gap:6px;display:flex}.color-cell input[type=color]{flex:none;width:34px;height:30px;padding:2px!important}.tabs{border-bottom:1px solid var(--zd-line2);flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.tab{all:unset;cursor:pointer;color:#64748b;border-bottom:3px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 12px;font-size:.92rem;font-weight:600;display:inline-flex}.tab:hover{color:var(--zd-ink)}.tab.on{color:var(--zd-blue);border-bottom-color:var(--zd-blue)}.small-tabs .tab{padding:6px 10px;font-size:.85rem}.back{color:var(--zd-blue);margin-bottom:14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.zd-card{box-shadow:var(--shadow);background:#fff;border-radius:16px;margin-bottom:16px;padding:1.1rem 1.4rem 1.3rem}.zd-card h3{color:var(--zd-ink);margin:0 0 12px;font-size:1.05rem}.tabpanel{box-shadow:var(--shadow);background:#fff;border-radius:0 0 16px 16px;padding:1.3rem 1.5rem 1.5rem}.page-tabs{background:0 0;border-bottom-color:#e2e8f0;margin-bottom:0}.grid{gap:14px 18px;display:grid}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:1100px){.grid.five,.grid.four,.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.grid.five,.grid.four,.grid.three,.two{grid-template-columns:1fr}}.savebar{border:1px solid var(--zd-line2);z-index:4;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:12px 16px;display:none;position:sticky;bottom:16px;box-shadow:0 8px 24px #0b1f3a1f}.savebar.show{display:flex}.savebar-actions{gap:8px;display:flex}.meta{margin-top:18px}.cd{border-radius:999px;padding:3px 9px;font-size:12.5px;font-weight:600}.cd-ok,.cd-done{color:#1f8a4c;background:#e7f5ec}.cd-warn{color:#a15c00;background:#fff4e0}.cd-late{color:#b42318;background:#fdecea}.cd-unset{color:var(--zd-muted2);background:#f1f3f7}.link{color:var(--zd-blue);padding:10px 0;font-weight:600;text-decoration:none}.status-select{font-weight:600!important}.status-select option{color:var(--zd-ink);background:#fff}textarea.ta{resize:vertical}.chip{color:var(--zd-text);background:#f1f5f9;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.chip.ok{color:#047857;background:#ecfdf5}.chip.warn{color:#c2410c;background:#fff7ed}.chip.lock{color:#64748b;background:#f1f5f9}.list{border:1px solid var(--zd-line2);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.list-row{border-top:1px solid var(--zd-line);align-items:center;gap:12px;padding:10px 14px;font-size:14px;display:flex}.list-row:first-child{border-top:0}.list-row .grow{flex:1;min-width:0}details.exp{border:1px solid var(--zd-line2);background:#fff;border-radius:12px;padding:0 14px}details.exp>summary{cursor:pointer;color:var(--zd-ink);padding:12px 0;font-weight:600}details.exp[open]>summary{border-bottom:1px solid var(--zd-line);margin-bottom:12px}details.exp>div{padding-bottom:14px}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.page-head h1{color:var(--zd-navy);margin:0 0 4px;font-size:1.65rem}.page-head p{margin:0}.zq-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.zq-h{color:var(--zd-muted);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:600}.zq-note{color:var(--zd-muted);margin:2px 0 8px;font-size:.82rem}.zq-builder{grid-template-columns:2.1fr 1fr;align-items:start;gap:16px;display:grid}@media (max-width:1000px){.zq-builder{grid-template-columns:1fr}}.zq-units{grid-template-columns:1.3fr 1fr 1.3fr 1fr;gap:10px;display:grid}@media (max-width:640px){.zq-units{grid-template-columns:1fr 1fr}}.zq-addons{flex-direction:column;display:flex}.zq-addon{border-bottom:1px solid var(--zd-line);grid-template-columns:2.6fr 1fr 1fr;align-items:center;gap:10px;padding:6px 0;display:grid}.zq-addon input{font:inherit;border:1px solid var(--zd-line2);background:#f8fafc;border-radius:10px;width:100%;min-width:0;padding:6px 9px;font-size:14px}.zq-addon input:focus{border-color:var(--zd-blue);background:#fff;outline:none;box-shadow:0 0 0 3px #1e6fd91f}.zq-colheads span{color:var(--zd-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.66rem;font-weight:600}.zq-addon-name{color:var(--zd-ink);font-size:.94rem;font-weight:600}.zq-addon-rate{color:var(--zd-muted);font-size:.8rem}.zq-custom,.zq-custom-inline{color:#b45309;font-size:.8rem}.zq-prices{border:1px solid var(--zd-line);box-shadow:none;background:#f8fafd;position:sticky;top:16px}.zq-row{color:var(--zd-text);justify-content:space-between;align-items:baseline;padding:.15rem 0;font-size:.92rem;display:flex}.zq-pct{color:var(--zd-muted);margin-right:.5rem;font-size:.76rem}.zq-rule{border-top:1px solid #e2e8f0;margin:.4rem 0}.zq-total-label{color:var(--zd-muted);letter-spacing:.14em;text-transform:uppercase;margin-top:4px;font-size:.72rem;font-weight:600}.zq-total{color:var(--zd-navy);font-size:1.9rem;font-weight:700}.zq-min{color:#b45309;font-size:.8rem}.zq-filter{font:inherit;border:1px solid var(--zd-line2);background:#f8fafc;border-radius:10px;width:260px;max-width:100%;padding:7px 11px;font-size:14px}.zq-qrow{border-bottom:1px solid #edf1f6;grid-template-columns:1.4fr 1.3fr .9fr 1.3fr auto;align-items:center;gap:10px;padding:8px 0;display:grid}.zq-qrow.with-cust{grid-template-columns:1.25fr 2.2fr 1.2fr .8fr 1.3fr auto}.zq-qwhen{color:#64748b;white-space:nowrap;font-size:.85rem}.zq-qname{color:#1e293b;font-size:.94rem;font-weight:600}.zq-qsub{font-size:.78rem}.zq-qlink{color:#1e6fd9}.zq-qmuted{color:#94a3b8}.zq-qcell{color:#334155;font-size:.88rem}.zq-qtotal{color:#0f2d52;text-align:right;font-size:.97rem;font-weight:700}.zq-accepted{color:#15803d;letter-spacing:.04em;font-size:.7rem;font-weight:700}.zq-btns{justify-content:flex-end;gap:2px;display:flex}.qbtn{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;padding:5px 7px;font-size:16px;line-height:1;display:inline-flex}.qbtn:hover,.qbtn.is-open{color:#1e293b;background:#eef2f7}.qbtn.on{color:#15803d}@media (max-width:760px){.zq-qrow,.zq-qrow.with-cust{grid-template-columns:1fr 1fr}.zq-btns{grid-column:1/-1;justify-content:flex-start}}.zh-header{grid-template-columns:3fr 1.25fr;align-items:center;gap:24px;display:grid}@media (max-width:900px){.zh-header{grid-template-columns:1fr}}.zh-name{color:var(--zd-navy);font-size:1.6rem;font-weight:700;line-height:1.2}.zh-meta{color:var(--zd-muted2);margin:4px 0 12px;font-size:.9rem}.zh-pills{flex-wrap:wrap;gap:18px;display:flex}.zh-pill-label{color:var(--zd-muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-size:.66rem;font-weight:600}.zh-pill{letter-spacing:.04em;text-transform:uppercase;color:#64748b;border:1.5px solid #cbd5e1;border-radius:999px;padding:4px 12px;font-size:.68rem;font-weight:700;display:inline-block}.zh-right{flex-direction:column;gap:8px;display:flex}.zh-hint{color:var(--zd-muted2);font-size:.82rem;line-height:1.4}.zh-gate{border:1px solid var(--zd-line2);background:#fff;border-radius:12px;min-height:84px;padding:10px 12px}.zh-gate-open{background:#f0fdf8;border-color:#a7f3d0}.zh-gate-locked{background:#fff9f2;border-color:#fed7aa}.zh-gate-none{background:#f8fafc}.zh-gate-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.zh-gate-title{color:var(--zd-ink);font-size:.92rem;font-weight:700}.zh-gate-badge{color:var(--zd-muted2);white-space:nowrap;font-size:.7rem;font-weight:700}.zh-gate-open .zh-gate-badge{color:#047857}.zh-gate-locked .zh-gate-badge{color:#c2410c}.zh-gate-sub{color:var(--zd-text);margin-top:4px;font-size:.82rem;line-height:1.35}.zh-pillar{border:1px solid var(--zd-line2);background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex}.pb-item{border-top:1px solid var(--zd-line);padding:6px 0}.pb-item:first-of-type{border-top:0}.pb-check{cursor:pointer;align-items:flex-start;gap:8px;font-size:.94rem;font-weight:600;display:flex}.pb-check input,.pb-done input{width:17px;height:17px;accent-color:var(--zd-blue);margin-top:2px}.pb-actions{justify-content:space-between;align-items:center;margin:6px 0 0 25px;display:flex}.pb-done{color:var(--zd-text);cursor:pointer;align-items:center;gap:6px;font-size:.86rem;display:flex}.zh-map{border:1px solid var(--zd-line2);background:#fff;border-radius:14px;margin:10px 0;padding:14px 16px}.zh-map-ready{border-color:#a7f3d0}.zh-map-pending{border-color:#fed7aa}.zh-map-top{justify-content:space-between;align-items:center;display:flex}.zh-map-title{color:var(--zd-ink);font-weight:700}.zh-map-badge{color:var(--zd-muted2);background:#f1f5f9;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:700}.zh-map-ready .zh-map-badge{color:#047857;background:#ecfdf5}.zh-map-pending .zh-map-badge{color:#c2410c;background:#fff7ed}.zh-bar{background:#e2e8f0;border-radius:999px;height:8px;margin:10px 0 8px;overflow:hidden}.zh-bar>div{background:var(--zd-blue);height:100%}.zh-map-ready .zh-bar>div{background:#059669}.zh-map-chips{color:var(--zd-text);flex-wrap:wrap;gap:6px 16px;font-size:.84rem;display:flex}.zh-map-msg{color:var(--zd-muted2);margin-top:6px;font-size:.82rem}.maplist{max-height:420px;color:var(--zd-text);flex-direction:column;gap:3px;font-size:.86rem;display:flex;overflow:auto}.grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:760px){.grid.two-col{grid-template-columns:1fr}}.files-grid{grid-template-columns:1fr 1.15fr;gap:28px;display:grid}@media (max-width:900px){.files-grid{grid-template-columns:1fr}}.zh-file-name{color:var(--zd-ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.dropzone{color:var(--zd-muted2);cursor:pointer;background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:18px;font-weight:600;display:flex}.dropzone:hover{border-color:var(--zd-blue);color:var(--zd-blue)}.dropzone.busy{opacity:.6}.tabpanel .zq-head .caption{max-width:70%}.bars{flex-direction:column;gap:8px;margin-top:10px;display:flex}.bar-row{grid-template-columns:150px 1fr 110px;align-items:center;gap:10px;font-size:.9rem;display:grid}.bar-track{background:#eef2f7;border-radius:6px;height:18px;overflow:hidden}.bar-fill{background:var(--zd-blue);border-radius:6px;height:100%;display:block}.bar-val{text-align:right;font-weight:600}.zd-card h3+.caption{margin-top:-6px;margin-bottom:8px}.zq-btns{min-width:150px}.zq-qrow{cursor:pointer}.zq-qrow:hover{background:#f8fafd}.zq-qrow.open{background:#f3f7fd;border-bottom-color:#0000}.zq-caret{width:14px;color:var(--zd-muted);display:inline-block}.zq-preview{border:1px solid var(--zd-line);background:#f8fafd;border-radius:0 0 12px 12px;margin-bottom:8px;padding:8px 14px 12px 28px}.zq-pv-row{color:var(--zd-text);border-bottom:1px solid #eef1f6;grid-template-columns:2.4fr .7fr 1fr .9fr;gap:10px;padding:5px 0;font-size:.9rem;display:grid}.zq-pv-row span:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}.zq-pv-head{color:var(--zd-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:600}.zq-pv-sub{color:var(--zd-muted2)}.zq-pv-total{color:var(--zd-navy);border-bottom:0;font-size:.98rem;font-weight:700}.zq-pv-notes{color:var(--zd-text);white-space:pre-wrap;margin-top:8px;font-size:.86rem}a.btn{text-decoration:none}.running{margin-top:18px;padding:0 6px;font-size:.82rem}.running-title{color:#fff;padding:0 6px 4px;font-weight:600}.running-empty{color:#c9d5e8;padding:0 6px}.running-row{color:#fff;padding:3px 6px;line-height:1.25}.running-sub{opacity:.8;margin-left:14px;font-size:.78rem}.runner-ok{color:#047857;margin-bottom:10px;font-size:.82rem;font-weight:600}.jobbar{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;margin:10px 0;padding:10px 14px}.jobbar-top{color:#1e3a8a;justify-content:space-between;gap:10px;margin-bottom:6px;font-weight:600;display:flex}.spin{vertical-align:-1px;border:2px solid #93c5fd;border-top-color:#1e6fd9;border-radius:50%;width:12px;height:12px;margin-right:6px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.mcard{border:1px solid var(--zd-line2);background:#fff;border-radius:12px;flex-direction:column;gap:6px;margin-top:8px;padding:12px 14px;display:flex}.inline-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-row select,.mcard select{font:inherit;border:1px solid var(--zd-line2);background:#f8fafc;border-radius:10px;min-width:0;padding:7px 10px;font-size:14px}.inline-wrap{flex-wrap:wrap;gap:8px;display:flex}h4.sec{color:var(--zd-ink);margin:18px 0 6px;font-size:1rem}.help-text{line-height:1.5}.ownerpick{border:1px solid var(--zd-line2);background:#f8fafc;border-radius:10px;flex-direction:column;gap:2px;max-height:260px;padding:6px;display:flex;overflow:auto}.ownerpick-scroll .ownerpick{max-height:320px}.op-row{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;font-size:.88rem;display:flex}.op-row.on{background:#eef4fd}.op-row input{accent-color:var(--zd-blue)}.op-tag{color:var(--zd-blue);text-transform:uppercase;letter-spacing:.05em;margin-left:auto;font-size:.72rem;font-style:normal;font-weight:700}.metrics{flex-wrap:wrap;gap:12px;margin:10px 0;display:flex}.metric{border:1px solid var(--zd-line2);border-radius:12px;flex-direction:column;min-width:120px;padding:10px 14px;display:flex}.metric span{color:var(--zd-muted2);font-size:.78rem}.metric b{color:var(--zd-ink);font-size:1.35rem}.metric em{color:var(--zd-muted2);font-size:.75rem;font-style:normal}.side{overflow-y:auto}
