.pdm{--bg:#F7F5F2;--surface:#FFFFFF;--surface-2:#FBF9F6;--line:#ECE7DF;--line-2:#E0DAD0;--text:#14110E;--text-2:#5E564C;--text-3:#8E867A;--text-4:#B6AFA3;--accent:#E8542E;--accent-ink:#8A2A11;--accent-soft:#FDE9E1;--ok:#2E8B57;--ok-soft:#E2F0E7;--warn:#C77A14;--warn-soft:#FBECCF;--danger:#B8381C;--danger-soft:#FADDD4;--info:#3A6EA5;--info-soft:#DDE7F3;--ext:#7B4DAA;--ext-soft:#ECE1F5;--radius:10px;--radius-sm:6px;--shadow-sm:0 1px 0 rgba(20,17,14,0.04),0 1px 2px rgba(20,17,14,0.04);--shadow:0 1px 0 rgba(20,17,14,0.04),0 4px 14px -6px rgba(20,17,14,0.10);--shadow-lg:0 20px 60px -20px rgba(20,17,14,0.25),0 4px 14px -6px rgba(20,17,14,0.10);--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;font-family:var(--font);color:var(--text);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased}.pdm .app{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.pdm .sidebar{background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 14px;position:sticky;top:0;height:100vh}.pdm .brand{display:flex;align-items:center;gap:9px;padding:4px 6px 16px}.pdm .brand-mark{width:22px;height:22px;display:grid;place-items:center;background:var(--text);color:var(--bg);border-radius:5px;font-weight:700;font-size:12px}.pdm .brand-name{font-weight:700;font-size:13px;letter-spacing:-.01em}.pdm .brand-sub{font-size:10.5px;color:var(--text-3);margin-top:1px}.pdm .nav{display:flex;flex-direction:column;gap:1px;margin-top:6px}.pdm .nav a{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:7px;font-size:12.5px;color:var(--text-2);text-decoration:none;transition:background .12s}.pdm .nav a:hover{background:var(--surface-2);color:var(--text)}.pdm .nav a.active{background:var(--text);color:#fff}.pdm .nav .icon{width:14px;height:14px;opacity:.7;flex-shrink:0}.pdm .nav-section{margin-top:16px;padding:0 9px 6px;font-size:10px;letter-spacing:.1em;color:var(--text-4);text-transform:uppercase}.pdm .sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:8px}.pdm .user{display:flex;align-items:center;gap:9px;padding:6px 9px}.pdm .avatar{width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;font-weight:600;font-size:11px}.pdm .user-name{font-size:12px;font-weight:500}.pdm .user-role{font-size:11px;color:var(--text-3)}.pdm .main{min-width:0}.pdm .topbar{background:var(--surface);border-bottom:1px solid var(--line);padding:12px 26px;gap:14px;position:sticky;top:0;z-index:20}.pdm .crumbs,.pdm .topbar{display:flex;align-items:center}.pdm .crumbs{gap:6px;color:var(--text-3);font-size:12.5px}.pdm .crumbs a{color:var(--text-3);text-decoration:none}.pdm .crumbs a:hover{color:var(--text)}.pdm .crumbs .crumb-link{appearance:none;border:0;background:transparent;padding:0;color:var(--text-3);font:inherit;cursor:pointer}.pdm .crumbs .crumb-link:hover{color:var(--text)}.pdm .crumbs .sep{color:var(--text-4)}.pdm .crumbs .cur{color:var(--text);font-weight:500;font-family:var(--mono);font-size:12px}.pdm .topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px}.pdm .undo-pill{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 10px;border:1px solid rgba(199,122,20,.32);border-radius:999px;background:var(--warn-soft);color:#7E4F0B;font-size:12px;font-weight:600}.pdm .undo-pill .icon{width:13px;height:13px}.pdm .undo-pill span{min-width:24px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.72);font-variant-numeric:tabular-nums;text-align:center}.pdm .kbd{justify-content:center;min-width:16px;height:16px;padding:0 4px;border:solid var(--line-2);border-width:1px 1px 2px;border-radius:3px;background:var(--surface-2);font-family:var(--mono);font-size:10px;color:var(--text-2)}.pdm .btn,.pdm .kbd{display:inline-flex;align-items:center}.pdm .btn{gap:6px;height:30px;padding:0 11px;border-radius:7px;font-size:12.5px;font-weight:500;border:1px solid var(--line-2);background:var(--surface);color:var(--text);transition:background .12s,border-color .12s;white-space:nowrap}.pdm .btn:hover{background:var(--surface-2)}.pdm .btn .icon{width:13px;height:13px}.pdm .btn-primary{background:var(--text);border-color:var(--text);color:#fff}.pdm .btn-primary:hover{background:#000}.pdm .btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}.pdm .btn-accent:hover{filter:brightness(.95)}.pdm .btn-ghost{border-color:transparent;background:transparent;color:var(--text-2)}.pdm .btn-ghost:hover{background:var(--surface-2);color:var(--text)}.pdm .btn-danger{color:var(--danger);border-color:rgba(184,56,28,.3);background:#fff}.pdm .btn-danger:hover{background:var(--danger-soft)}.pdm .btn-sm{height:26px;padding:0 9px;font-size:12px;border-radius:6px}.pdm .btn-icon{width:30px;padding:0;justify-content:center}.pdm .btn:disabled{opacity:.45;cursor:not-allowed}.pdm .content{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.pdm .content,.pdm .pdm-content{padding:20px 26px 60px;max-width:1440px;margin:0 auto}.pdm .col-main{gap:18px}.pdm .col-main,.pdm .col-side{display:flex;flex-direction:column;min-width:0}.pdm .col-side{gap:14px}.pdm .hero-head{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}.pdm .hero-title-block{flex:1;min-width:0}.pdm .hero-eyebrow{display:flex;align-items:center;gap:10px;color:var(--text-3);font-size:11.5px;margin-bottom:6px}.pdm .hero-eyebrow .dot{width:3px;height:3px;background:var(--text-4);border-radius:50%}.pdm .hero-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:22px;font-weight:600;letter-spacing:-.015em;margin:0}.pdm .hero-id{font-family:var(--mono);font-weight:500;font-size:20px}.pdm .hero-sub{margin-top:4px;font-size:13px;color:var(--text-2)}.pdm .hero-actions{display:flex;gap:6px;align-items:center}.pdm .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.pdm .card-title{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.pdm .card-title .icon{width:12px;height:12px}.pdm .hero-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;margin-top:14px}.pdm .progress-num{font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}.pdm .progress-num .frac{color:var(--text-3);font-weight:400;font-size:15px}.pdm .progress-percent{margin-top:4px;font-size:12px;color:var(--text-2)}.pdm .progress-percent .val{font-weight:600;color:var(--text)}.pdm .stacked-bar{display:flex;height:10px;border-radius:99px;overflow:hidden;background:var(--line);margin-top:12px}.pdm .stacked-bar>span{display:block;height:100%}.pdm .sb-done{background:#2E8B57}.pdm .sb-stock{background:#5BAE7A}.pdm .sb-wip{background:repeating-linear-gradient(-45deg,rgba(232,84,46,.55) 0 6px,rgba(232,84,46,.18) 6px 12px)}.pdm .sb-ext-wip{background:repeating-linear-gradient(-45deg,rgba(123,77,170,.55) 0 6px,rgba(123,77,170,.18) 6px 12px)}.pdm .progress-legend{display:flex;gap:14px;margin-top:10px;font-size:11.5px;color:var(--text-2);flex-wrap:wrap}.pdm .legend-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-2px}.pdm .legend-done{background:#2E8B57}.pdm .legend-stock{background:#5BAE7A}.pdm .legend-wip{background:repeating-linear-gradient(-45deg,rgba(232,84,46,.6) 0 3px,rgba(232,84,46,.2) 3px 6px)}.pdm .legend-ext-wip{background:repeating-linear-gradient(-45deg,rgba(123,77,170,.6) 0 3px,rgba(123,77,170,.2) 3px 6px)}.pdm .legend-todo{background:var(--line)}.pdm .deadline-date{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.pdm .deadline-sub{margin-top:2px;font-size:11.5px}.pdm .deadline-sub.ok{color:var(--ok);font-weight:500}.pdm .deadline-sub.soon{color:var(--warn);font-weight:500}.pdm .deadline-sub.overdue{color:var(--danger);font-weight:600}.pdm .deadline-sub.muted{color:var(--text-3)}.pdm .deadline-row{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px dashed var(--line);margin-top:10px;font-size:11.5px}.pdm .deadline-row .lbl{color:var(--text-3)}.pdm .deadline-row .val{font-weight:500}.pdm .empty-inline{padding:10px 12px;border:1px dashed var(--line-2);border-radius:8px;color:var(--text-3);font-size:11.5px;background:var(--surface-2);display:flex;gap:8px;align-items:flex-start}.pdm .empty-inline .icon{width:14px;height:14px;margin-top:1px;flex-shrink:0;color:var(--text-4)}.pdm .alert-strip{display:flex;align-items:center;gap:12px;background:var(--danger-soft);border:1px solid rgba(184,56,28,.22);border-radius:var(--radius);padding:12px 16px;color:var(--danger);margin-top:14px}.pdm .alert-strip.warn{background:var(--warn-soft);border-color:rgba(199,122,20,.22);color:#7E4F0B}.pdm .alert-strip.ok{background:var(--ok-soft);border-color:rgba(46,139,87,.22);color:#1E6B3E}.pdm .alert-strip .icon{width:16px;height:16px;flex-shrink:0}.pdm .alert-strip-body{flex:1;min-width:0}.pdm .alert-title{font-weight:600;font-size:13px}.pdm .alert-desc{font-size:12px;opacity:.85;margin-top:1px}.pdm .alert-actions{display:flex;gap:6px}.pdm .alert-strip .btn{background:#fff}.pdm .stages-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.pdm .stages-head h2{margin:0;font-size:14px;font-weight:600;letter-spacing:-.005em;display:flex;align-items:center;gap:8px}.pdm .stages-head .sub{color:var(--text-3);font-size:12px;font-weight:400;margin-left:4px}.pdm .flow-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:stretch}.pdm .stage{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:11px;min-width:0;position:relative}.pdm .stage.active{border-color:var(--accent);box-shadow:0 0 0 3px rgba(232,84,46,.08)}.pdm .stage.muted{background:var(--surface-2)}.pdm .stage.muted .metric-value{color:var(--text-3)}.pdm .stage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.pdm .stage-name{font-size:13px;font-weight:600;display:flex;align-items:center;gap:7px}.pdm .stage-name .idx{width:16px;height:16px;border-radius:4px;background:var(--surface-2);color:var(--text-3);font-size:10px;font-weight:600;display:grid;place-items:center;font-family:var(--mono)}.pdm .stage.done .stage-name .idx{background:var(--ok-soft);color:var(--ok)}.pdm .stage.active .stage-name .idx{background:var(--accent);color:#fff}.pdm .stage.ext .stage-name .idx{background:var(--ext-soft);color:var(--ext)}.pdm .tag{display:inline-flex;align-items:center;gap:4px;height:19px;padding:0 7px;border-radius:4px;font-size:10.5px;font-weight:500;background:var(--surface-2);color:var(--text-3);border:1px solid var(--line);line-height:1}.pdm .tag.int{background:#F4F1EC;color:var(--text-2)}.pdm .tag.ext{background:var(--ext-soft);color:var(--ext);border-color:rgba(123,77,170,.2)}.pdm .tag.ok{background:var(--ok-soft);color:var(--ok);border-color:rgba(46,139,87,.25)}.pdm .tag.warn{background:var(--warn-soft);color:var(--warn);border-color:rgba(199,122,20,.25)}.pdm .tag.info{background:var(--info-soft);color:var(--info);border-color:rgba(58,110,165,.25)}.pdm .tag.danger{background:var(--danger-soft);color:var(--danger);border-color:rgba(184,56,28,.25)}.pdm .tag.final{background:#F1EAFA;color:#5E3A8F;border-color:rgba(123,77,170,.25)}.pdm .stage-metric{display:flex;flex-direction:column;gap:2px}.pdm .metric-label{font-size:11px;color:var(--text-3)}.pdm .metric-value{font-size:22px;font-weight:600;letter-spacing:-.015em;font-variant-numeric:tabular-nums;line-height:1.1}.pdm .metric-value .unit{font-size:11px;color:var(--text-3);font-weight:400;margin-left:3px}.pdm .stage-progress{display:flex;flex-direction:column;gap:5px}.pdm .stage-progress-head{display:flex;justify-content:space-between;font-size:11px;color:var(--text-3)}.pdm .stage-progress .bar{height:5px;border-radius:99px;background:var(--line);position:relative;overflow:hidden}.pdm .stage-progress .bar>span{position:absolute;inset:0 auto 0 0;background:var(--ok);border-radius:99px}.pdm .stage.active .stage-progress .bar>span{background:var(--accent)}.pdm .stage.ext .stage-progress .bar>span{background:var(--ext)}.pdm .stage-split{display:grid;grid-template-columns:1fr 1fr;gap:0;padding-top:10px;border-top:1px dashed var(--line)}.pdm .stage-split>div{padding:0 4px}.pdm .stage-split>div+div{border-left:1px dashed var(--line)}.pdm .ssplit-label{font-size:10.5px;color:var(--text-3);line-height:1.2}.pdm .ssplit-value{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:2px;line-height:1.1}.pdm .ssplit-value.wip{color:var(--accent)}.pdm .ssplit-value.avail{color:var(--ok)}.pdm .stage-cta{margin-top:auto;display:flex;gap:6px;align-items:center}.pdm .stage-cta .btn{flex:1;min-width:0;height:auto;min-height:34px;justify-content:center;white-space:normal;text-align:center;line-height:1.15;padding:6px 8px}.pdm .stage-cta .btn .icon{width:12px;height:12px;flex:0 0 auto}.pdm .ship-chip{display:flex;align-items:center;gap:7px;padding:7px 9px;background:var(--ext-soft);border:1px solid rgba(123,77,170,.22);border-radius:7px;font-size:11.5px;cursor:pointer;color:var(--ext)}.pdm .ship-chip:hover{background:#E3D3F2}.pdm .ship-chip .icon{width:13px;height:13px}.pdm .ship-chip .val{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.pdm .ship-chip.alert{background:var(--warn-soft);border-color:rgba(199,122,20,.22);color:#7E4F0B}.pdm .flow-arrow{position:absolute;right:-10px;top:50%;transform:translateY(-50%);width:20px;height:20px;z-index:2;background:var(--bg);border-radius:50%;display:grid;place-items:center;color:var(--text-4)}.pdm .ship-lane{margin-top:10px;display:flex;flex-direction:column;gap:6px}.pdm .ship-banner{display:grid;grid-template-columns:minmax(0,1fr) auto auto minmax(160px,auto);align-items:center;gap:12px;background:var(--surface);border:1px dashed var(--line-2);border-radius:8px;padding:8px 12px;font-size:12px}.pdm .ship-banner.active{background:var(--ext-soft);border-color:rgba(123,77,170,.3)}.pdm .ship-banner.back{background:var(--info-soft);border-color:rgba(58,110,165,.3)}.pdm .ship-banner.client{background:#F1EAFA;border-color:rgba(123,77,170,.3)}.pdm .ship-nodes{display:flex;align-items:center;gap:8px;justify-content:flex-start}.pdm .ship-node{font-weight:500}.pdm .ship-dots{display:flex;align-items:center;gap:4px;color:var(--text-3)}.pdm .ship-dots .line{flex:1;height:2px;background:linear-gradient(90deg,currentColor 50%,transparent 0) 0 /6px 2px repeat-x;min-width:60px;opacity:.5}.pdm .ship-truck{width:14px;height:14px}.pdm .ship-info{display:flex;flex-direction:column;line-height:1.15}.pdm .ship-info .lbl{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em}.pdm .ship-info .val{font-weight:600;font-variant-numeric:tabular-nums}.pdm .ship-banner .btn{justify-self:end;min-width:150px;height:34px;justify-content:center}.pdm .ship-banner .btn.btn-accent,.pdm .ship-banner .ship-action{background:#e8542e!important;border-color:#e8542e!important;color:#fff!important;opacity:1!important}.pdm .ship-banner .ship-action{box-shadow:none!important}.pdm .ship-banner .ship-action-muted{background:var(--surface)!important;border-color:var(--line-2)!important;color:var(--text)!important}@media (max-width:900px){.pdm .ship-banner{grid-template-columns:1fr;align-items:stretch}.pdm .ship-banner .btn{width:100%}}.pdm .panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.pdm .panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}.pdm .panel-head h3{margin:0;font-size:12px;font-weight:600;display:flex;align-items:center;gap:7px}.pdm .panel-body{padding:12px 14px}.pdm .machine-row{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;padding:6px 0}.pdm .machine-row+.machine-row{border-top:1px dashed var(--line)}.pdm .machine-row .lbl{color:var(--text-3)}.pdm .machine-row .val{font-weight:500;font-variant-numeric:tabular-nums}.pdm .pulse{width:6px;height:6px;border-radius:50%;background:var(--ok);display:inline-block;margin-right:5px;box-shadow:0 0 0 0 rgba(46,139,87,.5);animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(46,139,87,.5)}70%{box-shadow:0 0 0 5px rgba(46,139,87,0)}to{box-shadow:0 0 0 0 rgba(46,139,87,0)}}.pdm .norma{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pdm .norma-cell{padding:8px 10px;background:var(--surface-2);border-radius:7px}.pdm .norma-cell .lbl{font-size:10.5px;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em}.pdm .norma-cell .val{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:3px}.pdm .norma-cell .sub{font-size:10.5px;color:var(--text-3);margin-top:1px}.pdm .norma-note{margin-top:8px;font-size:11px;color:var(--text-3);line-height:1.4;padding:6px 8px;background:var(--surface-2);border-radius:6px;display:flex;gap:6px}.pdm .norma-note .icon{width:12px;height:12px;margin-top:1px;flex-shrink:0}.pdm .drawing-wrap{border:1px solid var(--line);border-radius:var(--radius-sm);background:#FBF9F6;aspect-ratio:4/3;position:relative;overflow:hidden;cursor:zoom-in}.pdm .drawing-wrap.is-empty{cursor:default}.pdm .drawing-wrap:hover .drawing-overlay{opacity:1}.pdm .drawing-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--text-3);font-size:12px}.pdm .drawing-overlay{position:absolute;inset:0;background:rgba(20,17,14,.55);color:#fff;font-size:11px;font-weight:500;display:grid;place-items:center;opacity:0;transition:opacity .12s}.pdm .dwg-id{margin-top:8px;font-size:11px;color:var(--text-3);font-family:var(--mono);text-align:center}.pdm .section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.pdm .section-head h2{margin:0;font-size:14px;font-weight:600;letter-spacing:-.005em;display:flex;align-items:center;gap:8px}.pdm .section-head .sub{color:var(--text-3);font-size:12px;font-weight:400;margin-left:6px}.pdm .filter-bar,.pdm .section-actions{display:flex;gap:6px;align-items:center}.pdm .filter-bar{flex-wrap:wrap;padding:10px 12px;background:var(--surface-2);border-bottom:1px solid var(--line)}.pdm .filter-bar .filter{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;background:var(--surface);border:1px solid var(--line-2);border-radius:6px;font-size:11.5px;color:var(--text-2)}.pdm .filter-bar button.filter{font:inherit}.pdm .filter-bar .filter select{appearance:none;border:0;background:transparent;font:inherit;outline:none;padding:0}.pdm .filter-bar .filter select,.pdm .filter-bar .filter strong{color:var(--text);font-weight:500}.pdm .filter-bar .filter .x{color:var(--text-4)}.pdm .filter-bar .filter:hover{background:var(--surface-2);cursor:pointer}.pdm .filter-bar .facts-scrap-filter[data-active=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:rgba(232,84,46,.3)}.pdm .filter-bar .sep{flex:1}.pdm .search-inp{flex:1;min-width:180px;height:26px;padding:0 9px 0 28px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238E867A' stroke-width='2'><circle cx='11' cy='11' r='7'/><path d='m20 20-3.5-3.5'/></svg>") no-repeat 9px center;font-size:12px}.pdm table.facts{width:100%;border-collapse:collapse;font-size:12.5px}.pdm .facts thead th{text-align:left;font-weight:500;font-size:10.5px;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--surface-2)}.pdm .facts thead th.num{text-align:right}.pdm .facts tbody td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.pdm .facts tbody tr:last-child td{border-bottom:none}.pdm .facts tbody tr:hover{background:var(--surface-2)}.pdm .facts td.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.pdm .facts td.actions{text-align:right}.pdm .facts .who{display:flex;align-items:center;gap:8px}.pdm .facts .who .avatar{width:22px;height:22px;font-size:10px}.pdm .facts .who .nm{font-weight:500}.pdm .op{display:inline-flex;align-items:center;gap:6px}.pdm .op .op-dot{width:7px;height:7px;border-radius:50%;background:var(--info)}.pdm .op.mech .op-dot{background:#3A6EA5}.pdm .op.slsr .op-dot{background:#D98F3A}.pdm .op.galv .op-dot{background:var(--ext)}.pdm .shift-tag{display:inline-flex;align-items:center;gap:5px;padding:2px 6px;border-radius:4px;font-size:10.5px;background:var(--surface-2);color:var(--text-2);font-family:var(--mono);border:1px solid var(--line)}.pdm .shift-tag .shift-dot{width:6px;height:6px;border-radius:50%}.pdm .shift-tag.day .shift-dot{background:#F5B041}.pdm .shift-tag.night .shift-dot{background:#365A82}.pdm .row-tag{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:500;background:var(--info-soft);color:var(--info);border:1px solid rgba(58,110,165,.25);margin-left:6px}.pdm .row-tag.vst{background:var(--warn-soft);color:#7E4F0B;border-color:rgba(199,122,20,.22)}.pdm .facts-foot{display:flex;justify-content:space-between;padding:10px 12px;border-top:1px solid var(--line);background:var(--surface-2);font-size:11.5px;color:var(--text-2);border-radius:0 0 var(--radius) var(--radius)}.pdm .facts-foot .totals{display:flex;gap:18px;font-variant-numeric:tabular-nums}.pdm .facts-foot .totals strong{color:var(--text);font-weight:600}.pdm .log-tabs{display:flex;gap:2px;background:var(--surface-2);border:1px solid var(--line);border-radius:7px;padding:2px;font-size:12px;align-self:flex-start}.pdm .log-tabs button{border:none;background:transparent;padding:4px 10px;border-radius:5px;color:var(--text-2);font-weight:500}.pdm .log-tabs button.active{background:var(--text);color:#fff}.pdm .log{display:flex;flex-direction:column}.pdm .log-group{border-bottom:1px solid var(--line)}.pdm .log-group:last-child{border-bottom:none}.pdm .log-group-head{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;user-select:none;background:var(--surface);transition:background .1s;width:100%;border:0;color:inherit;text-align:left;font:inherit}.pdm .log-group-head:hover{background:var(--surface-2)}.pdm .log-chev{width:10px;height:10px;transition:transform .15s;color:var(--text-3)}.pdm .log-group.open .log-chev{transform:rotate(90deg)}.pdm .log-date{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--text);font-weight:500;min-width:70px}.pdm .log-summary{flex:1;font-size:12px;color:var(--text-2)}.pdm .log-summary strong{color:var(--text);font-weight:600}.pdm .log-count{font-size:11px;color:var(--text-3);padding:2px 7px;background:var(--surface-2);border:1px solid var(--line);border-radius:99px;font-variant-numeric:tabular-nums}.pdm .log-items{display:none;padding:0 14px 10px 38px}.pdm .log-group.open .log-items{display:block}.pdm .log-item{display:grid;grid-template-columns:14px 1fr auto;gap:10px;padding:7px 0;align-items:flex-start;border-top:1px dashed var(--line);font-size:12px}.pdm .log-item:first-child{border-top:none}.pdm .log-item .marker{width:8px;height:8px;border-radius:50%;margin-top:4px;background:var(--ok)}.pdm .log-item.warn .marker{background:var(--warn)}.pdm .log-item.info .marker{background:var(--info)}.pdm .log-item.ext .marker{background:var(--ext)}.pdm .log-item.danger .marker{background:var(--danger)}.pdm .log-item-body .t{font-size:12px}.pdm .log-item-body .t strong{font-weight:600}.pdm .log-item-body .m{font-size:11px;color:var(--text-3);margin-top:1px}.pdm .log-item-time{font-family:var(--mono);font-size:11px;color:var(--text-3);white-space:nowrap}.pdm-dialog{--bg:#F7F5F2;--surface:#FFFFFF;--surface-2:#FBF9F6;--line:#ECE7DF;--line-2:#E0DAD0;--text:#14110E;--text-2:#5E564C;--text-3:#8E867A;--text-4:#B6AFA3;--accent:#E8542E;--accent-ink:#8A2A11;--accent-soft:#FDE9E1;--ok:#2E8B57;--ok-soft:#E2F0E7;--warn:#C77A14;--warn-soft:#FBECCF;--danger:#B8381C;--danger-soft:#FADDD4;--info:#3A6EA5;--info-soft:#DDE7F3;--ext:#7B4DAA;--ext-soft:#ECE1F5;--shadow-lg:0 20px 60px -20px rgba(20,17,14,0.25),0 4px 14px -6px rgba(20,17,14,0.10);--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;width:min(calc(100vw - 32px),520px)!important;max-height:90vh;padding:0!important;gap:0!important;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font-family:var(--font);font-size:13px;line-height:1.45;box-shadow:var(--shadow-lg)}.pdm-dialog.lg{width:min(calc(100vw - 32px),640px)!important;max-width:640px!important}.pdm-dialog.xl{width:min(calc(100vw - 32px),780px)!important;max-width:780px!important}.pdm-dialog .modal-head{padding:16px 20px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:12px}.pdm-dialog .modal-head h2,.pdm-dialog .modal-head h3{margin:0;font-size:15px;font-weight:600;letter-spacing:-.005em;color:var(--text)}.pdm-dialog .modal-head .ms,.pdm-dialog .modal-head p{margin-top:2px;font-size:12px;color:var(--text-3)}.pdm-dialog .modal-body{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.pdm-dialog .modal-foot{padding:14px 20px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;align-items:center}.pdm-dialog .modal-foot .spacer{flex:1}.pdm-dialog .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pdm-dialog .row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.pdm-dialog .field{display:flex;flex-direction:column;gap:6px}.pdm-dialog .field label{font-size:11.5px;color:var(--text-2);font-weight:500}.pdm-dialog .field .hint{font-size:11px;color:var(--text-3)}.pdm-dialog .field input,.pdm-dialog .field select,.pdm-dialog .field textarea{width:100%;min-height:34px;padding:8px 10px;border:1px solid var(--line-2);border-radius:7px;background:var(--surface);color:var(--text);font-size:13px;font-family:inherit}.pdm-dialog .field input:focus,.pdm-dialog .field select:focus,.pdm-dialog .field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(232,84,46,.12)}.pdm-dialog .field textarea{min-height:64px;resize:vertical}.pdm-dialog .seg{display:flex;gap:2px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:7px;padding:2px}.pdm-dialog .seg button{flex:1;border:none;background:transparent;padding:6px 10px;border-radius:5px;font-size:12px;color:var(--text-2);font-weight:500}.pdm-dialog .seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.pdm-dialog .step-route{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;background:var(--surface-2);border-radius:10px}.pdm-dialog .step-route .node{padding:8px 14px;background:var(--surface);border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px}.pdm-dialog .step-route .node.from{color:var(--text-2)}.pdm-dialog .step-route .node.to{border-color:var(--accent);color:var(--accent)}.pdm-dialog .step-route .qty{font-family:var(--mono);font-size:14px;font-weight:600;padding:4px 10px;background:var(--accent);color:#fff;border-radius:99px}.pdm-dialog .info-box{padding:12px 14px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;font-size:12px}.pdm-dialog .info-box .row{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:center}.pdm-dialog .info-box .lbl{color:var(--text-3)}.pdm-dialog .info-box .val{font-weight:500;font-variant-numeric:tabular-nums;text-align:right}.pdm-dialog .wbox{padding:10px 12px;border:1px solid rgba(199,122,20,.3);background:var(--warn-soft);border-radius:8px;font-size:12px;color:#7E4F0B;display:flex;gap:10px;align-items:flex-start}.pdm-dialog .wbox .icon{width:14px;height:14px;margin-top:1px;flex-shrink:0}.pdm-dialog .wbox.info{background:var(--info-soft);border-color:rgba(58,110,165,.3);color:#264C71}.pdm-dialog .wbox.ok{background:var(--ok-soft);border-color:rgba(46,139,87,.3);color:#1E6B3E}.pdm-dialog .wbox.danger{background:var(--danger-soft);border-color:rgba(184,56,28,.28);color:var(--danger)}.pdm-dialog .checkline{margin-top:8px;display:flex;align-items:center;gap:8px;color:var(--text);font-weight:500}.pdm-dialog .checkline input{width:14px;height:14px}.pdm-dialog .label-preview{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.pdm-dialog .label-preview>div:first-child{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--text-2)}.pdm-dialog .label-preview strong{font-family:var(--mono);color:var(--text);font-size:15px}.pdm-dialog .barcode{font-family:var(--mono);font-size:24px;letter-spacing:1px;color:var(--text);white-space:nowrap}.pdm-dialog .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 11px;border-radius:7px;font-size:12.5px;font-weight:500;border:1px solid var(--line-2);background:var(--surface);color:var(--text);white-space:nowrap}.pdm-dialog .btn-ghost{border-color:transparent;background:transparent;color:var(--text-2)}.pdm-dialog .btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}.pdm-dialog .btn-danger{color:var(--danger);border-color:rgba(184,56,28,.3);background:#fff}.pdm-dialog .btn-danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.pdm-dialog .btn .icon{width:13px;height:13px}.pdm-dialog .qty-stepper{display:flex;border:1px solid var(--line-2);border-radius:7px;overflow:hidden}.pdm-dialog .qty-stepper button{width:34px;border:none;background:var(--surface-2);color:var(--text);font-size:16px}.pdm-dialog .qty-stepper button:hover{background:var(--line)}.pdm-dialog .qty-stepper input{border:0;border-left:1px solid var(--line-2);border-right:1px solid var(--line-2);border-radius:0;text-align:center}.pdm-dialog .modal-body.drawing-body{padding:0;background:var(--surface-2)}.pdm-dialog .drawing-stage{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:16px;background:linear-gradient(to right,#E5DFD3 1px,transparent 1px),linear-gradient(to bottom,#E5DFD3 1px,transparent 1px),var(--surface-2);background-size:20px 20px}.pdm-dialog .drawing-stage iframe,.pdm-dialog .drawing-stage img{display:block;width:100%;max-height:75vh;border:1px solid var(--line);border-radius:8px;background:#fff;object-fit:contain}.pdm-dialog .drawing-empty{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-3);font-size:13px;text-align:center}.pdm .modal-root{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:rgba(20,17,14,.45);padding:40px 20px;overflow-y:auto}.pdm .modal,.pdm .modal-root.on{display:flex}.pdm .modal{background:var(--surface);border-radius:12px;width:100%;max-width:520px;box-shadow:var(--shadow-lg);max-height:90vh;flex-direction:column;overflow:hidden}.pdm .modal.lg{max-width:640px}.pdm .modal.xl{max-width:780px}.pdm .modal-head{padding:16px 20px 14px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pdm .modal-head h3{margin:0;font-size:15px;font-weight:600;letter-spacing:-.005em}.pdm .modal-head .ms{margin-top:2px;font-size:12px;color:var(--text-3)}.pdm .modal-head .x{width:26px;height:26px;border:none;background:transparent;border-radius:6px;color:var(--text-3);font-size:16px;display:grid;place-items:center}.pdm .modal-head .x:hover{background:var(--surface-2);color:var(--text)}.pdm .modal-body{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.pdm .modal-foot{padding:14px 20px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;align-items:center}.pdm .modal-foot .spacer{flex:1}.pdm .field{display:flex;flex-direction:column;gap:6px}.pdm .field label{font-size:11.5px;color:var(--text-2);font-weight:500}.pdm .field .hint{font-size:11px;color:var(--text-3)}.pdm .field input[type=date],.pdm .field input[type=number],.pdm .field input[type=text],.pdm .field select,.pdm .field textarea{width:100%;padding:8px 10px;border:1px solid var(--line-2);border-radius:7px;background:var(--surface);color:var(--text);font-size:13px;font-family:inherit}.pdm .field input:focus,.pdm .field select:focus,.pdm .field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(232,84,46,.12)}.pdm .field textarea{min-height:64px;resize:vertical}.pdm .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pdm .row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.pdm .seg{display:flex;gap:2px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:7px;padding:2px}.pdm .seg button{flex:1;border:none;background:transparent;padding:6px 10px;border-radius:5px;font-size:12px;color:var(--text-2);font-weight:500}.pdm .seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.pdm .seg.danger button.on{background:var(--danger-soft);color:var(--danger)}.pdm .info-box{padding:12px 14px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;font-size:12px}.pdm .info-box .row{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:center}.pdm .info-box .row .lbl{color:var(--text-3)}.pdm .info-box .row .val{font-weight:500;font-variant-numeric:tabular-nums;text-align:right}.pdm .wbox{padding:10px 12px;border:1px solid rgba(199,122,20,.3);background:var(--warn-soft);border-radius:8px;font-size:12px;color:#7E4F0B;display:flex;gap:10px;align-items:flex-start}.pdm .wbox .icon{width:14px;height:14px;margin-top:1px;flex-shrink:0}.pdm .wbox.danger{background:var(--danger-soft);border-color:rgba(184,56,28,.3);color:var(--danger)}.pdm .wbox.info{background:var(--info-soft);border-color:rgba(58,110,165,.3);color:#264C71}.pdm .wbox.ok{background:var(--ok-soft);border-color:rgba(46,139,87,.3);color:#1E6B3E}.pdm .step-route{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;background:var(--surface-2);border-radius:10px}.pdm .step-route .node{padding:8px 14px;background:var(--surface);border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px}.pdm .step-route .node.from{color:var(--text-2)}.pdm .step-route .node.to{border-color:var(--accent);color:var(--accent)}.pdm .step-route .node.ext{border-color:rgba(123,77,170,.4);color:var(--ext)}.pdm .step-route svg{color:var(--text-3)}.pdm .step-route .qty{font-family:var(--mono);font-size:14px;font-weight:600;padding:4px 10px;background:var(--accent);color:#fff;border-radius:99px}.pdm .qty-stepper{display:flex;align-items:stretch;border:1px solid var(--line-2);border-radius:7px;background:var(--surface);overflow:hidden}.pdm .qty-stepper button{border:none;background:var(--surface-2);width:32px;font-size:14px;color:var(--text-2)}.pdm .qty-stepper button:hover{background:var(--line)}.pdm .qty-stepper input{border:none;outline:none;flex:1;text-align:center;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;background:transparent}.pdm .toast-root{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none}.pdm .toast{background:var(--text);color:#fff;padding:10px 14px;border-radius:8px;font-size:12.5px;font-weight:500;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:8px;animation:toast-in .25s ease;pointer-events:auto;max-width:420px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.pdm .toast.ok{background:#1E6B3E}.pdm .toast.err{background:var(--danger)}.pdm #tweaks{position:fixed;right:20px;bottom:20px;z-index:50;width:280px;background:var(--surface);border:1px solid var(--line-2);border-radius:12px;box-shadow:0 10px 40px -10px rgba(20,17,14,.2);display:none;overflow:hidden}.pdm #tweaks.on{display:block}.pdm .tw-head{padding:11px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.pdm .tw-head h4{margin:0;font-size:12px;font-weight:600}.pdm .tw-body{padding:10px 14px 14px;display:flex;flex-direction:column;gap:10px}.pdm .tw-row{display:flex;justify-content:space-between;align-items:center;font-size:12px}.pdm .tw-row label{color:var(--text-2)}.pdm .switch{position:relative;width:32px;height:18px;background:var(--line);border-radius:99px;cursor:pointer;transition:background .15s}.pdm .switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.15)}.pdm .switch.on{background:var(--accent)}.pdm .switch.on:after{transform:translateX(14px)}.pdm .density-compact .card{padding:12px 14px}.pdm .density-compact .stage{padding:11px}.pdm .density-compact .hero-title{font-size:20px}.pdm .density-compact .progress-num{font-size:24px}.pdm .no-empty-states .empty-inline{display:none}.pdm .chips{display:flex;gap:6px;flex-wrap:wrap}.pdm ::-webkit-scrollbar{height:8px;width:8px}.pdm ::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:99px}.pdm ::-webkit-scrollbar-track{background:transparent}