@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
.upload-card{transition:.2s}.upload-card.drop-target{border-color:var(--blue);background:#fff7f7;box-shadow:0 0 0 4px #d9282f1a,0 8px 25px #25364b12;transform:translateY(-1px)}
:root{--ink:#17212b;--muted:#77828e;--line:#e7ebef;--blue:#2563eb;--bg:#f7f9fb}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px Manrope,Arial,sans-serif}.shell{display:flex;min-height:100vh}aside{position:sticky;top:0;align-self:flex-start;height:100vh;height:100dvh;overflow:auto;flex:none;background:#101820;color:white;width:250px;padding:30px 22px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;font-size:16px;font-weight:800;letter-spacing:-.4px}.brand span:last-child{display:block;font-size:8px;letter-spacing:1.4px;color:#8e9ba7;margin-top:3px}.brand-mark{display:grid!important;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--blue);color:#fff!important;font-size:19px!important;letter-spacing:0!important;margin:0!important;transition:.15s}a.brand-home{text-decoration:none;color:inherit;cursor:pointer}a.brand-home:hover .brand-mark{background:#1d4ed8;transform:scale(1.04)}a.brand-home:focus-visible{outline:2px solid #5b9fff;outline-offset:4px;border-radius:12px}nav.side-nav{margin-top:28px}.side-nav-group{margin:18px 0 6px;padding:0 14px;font-size:9px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#6b7884}.side-nav-group:first-child{margin-top:0}.side-nav-link{display:flex;align-items:center;gap:11px;color:#9eabb5;text-decoration:none;padding:11px 14px;border-radius:9px;margin:2px 0;font-size:13px;font-weight:600;line-height:1.2}.side-nav-link .nav-ico{width:18px;height:18px;opacity:.72;color:currentColor}.side-nav-link .nav-ico svg{width:18px;height:18px}.side-nav-link.active,.side-nav-link:hover{color:#fff;background:#202d38}.side-nav-link.active .nav-ico,.side-nav-link:hover .nav-ico{opacity:1}.account{margin-top:auto;border-top:1px solid #2a3740;padding:20px 5px 0;display:flex;flex-direction:column;align-items:stretch;gap:13px}.account-user{min-width:0}.avatar{width:32px;height:32px;border-radius:50%;background:#d7e7ff;color:#1454ad;display:grid;place-items:center;font-weight:800}.account strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account small{color:#83909a;font-size:10px}.account-actions{display:flex;align-items:center;gap:8px}.account form{margin-left:auto}.account button{border:0;background:none;color:#84909a;font-size:11px;cursor:pointer}.account-actions .theme-toggle{flex:1}main{max-width:1050px;width:100%;margin:0 auto;padding:57px 62px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:34px}.eyebrow{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 10px}h1{font-size:34px;letter-spacing:-1.5px;margin:0 0 8px}h2{font-size:18px;letter-spacing:-.5px;margin:0 0 6px}.muted{color:var(--muted);margin:0;line-height:1.7}.upload-card,.results,.meta{background:#fff;border:1px solid var(--line);border-radius:14px;padding:27px 29px;box-shadow:0 4px 20px #25364b05}.upload-card{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:20px}
.section-title#projects{margin-top:8px}.upload-copy{display:flex;align-items:center;gap:17px;flex:1;min-width:0}.upload-copy>.icon{width:45px;height:45px;border-radius:12px;background:#eaf1ff;color:var(--blue);font-size:28px;display:grid;place-items:center;flex:none}.upload-card .upload-copy .icon.btn-ico{width:45px;height:45px;font-size:0}.upload-card .upload-copy .icon.btn-ico svg{width:22px;height:22px}.upload-copy p{color:var(--muted);margin:7px 0 0;font-size:12px}.upload-form{display:flex;gap:10px;align-items:center}.file-input{max-width:190px;font-size:11px;color:var(--muted)}button.primary{background:var(--blue);border:0;border-radius:8px;color:#fff;padding:12px 17px;font:600 12px Manrope;cursor:pointer;white-space:nowrap}button.primary:hover{background:#1d4ed8}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:15px}.count{background:#e9eef3;color:#66727e;border-radius:20px;padding:3px 8px;font-size:11px}.project-list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.project-row{min-height:77px;padding:14px 20px;display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.project-row:last-child{border:0}.project-row:hover{background:#fbfcff}.project-icon{width:38px;height:38px;border-radius:9px;background:#e9f0ff;color:#3971df;display:grid;place-items:center;font-size:10px;font-weight:800}.project-info{flex:1}.project-info strong{display:block;font-size:13px}.project-info span{display:block;color:var(--muted);font-size:11px;margin-top:5px}.status{font-size:10px;font-weight:700;padding:6px 10px;border-radius:20px;background:#eef1f3;color:#65717b}.status.ready{background:#e5f8ee;color:#14834c}.status.processing{background:#fff5db;color:#aa7410}.status.error{background:#ffebeb;color:#c33434}.arrow{color:#aab4bc;font-size:18px}.empty{text-align:center;padding:70px 20px;color:var(--muted)}.empty-icon{font-size:30px;color:#b5c0c8}.empty h3{color:var(--ink);margin:12px 0 5px}.empty p{margin:0}.back{display:inline-block;color:var(--muted);text-decoration:none;margin-bottom:34px}.detail-head{align-items:center}.large{font-size:12px;padding:9px 13px}.results{margin-bottom:20px}.results>p{font-size:12px;margin-bottom:24px}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.result-card{position:relative;border:1px solid var(--line);border-radius:10px;padding:17px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:7px}.result-card:hover{border-color:#a8c1f5}.result-card strong{font-size:12px}.result-card span:not(.result-icon){font-size:10px;color:var(--muted)}.result-card b{position:absolute;right:15px;bottom:15px;color:var(--blue);font-size:17px}.result-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-size:17px}.blue{background:#eaf1ff;color:#3971df}.orange{background:#fff1df;color:#dc8a20}.green{background:#e4f8ef;color:#20a46a}.meta{display:flex;gap:45px}.meta h2{margin-right:auto}.meta span,.meta strong{display:block;font-size:11px}.meta span{color:var(--muted);margin-bottom:5px}.notice{padding:13px 17px;border-radius:8px;background:#eaf1ff;color:#2456a8;margin-bottom:20px;font-size:12px}.notice.error{background:#ffebeb;color:#b52b2b}.notice.success{background:#e5f8ee;color:#147848}.login-wrap{min-height:80vh;display:grid;place-items:center}.login-card{background:#fff;border:1px solid var(--line);border-radius:16px;width:380px;padding:42px;box-shadow:0 12px 40px #25364b0b}.centered{justify-content:center;margin-bottom:40px}.login-card h1{text-align:center;font-size:25px}.login-card>.muted{text-align:center;margin-bottom:25px;font-size:12px}.login-card label{display:block;font-size:11px;font-weight:700;margin:15px 0}.login-card input{display:block;width:100%;border:1px solid #dce3e8;border-radius:7px;padding:12px;margin-top:7px;font:14px Manrope}.full{width:100%;margin-top:15px}
@media(max-width:800px){aside{width:205px}main{padding:35px 25px}.upload-card{display:block}.upload-card>.primary{margin-top:18px}.upload-form{margin-top:20px}.result-grid{grid-template-columns:1fr}.meta{gap:15px;flex-wrap:wrap}}
.modal-open{overflow:hidden;touch-action:none}.modal-backdrop{position:fixed;inset:0;z-index:10;display:flex;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#10182099}.error-modal-backdrop{align-items:center;z-index:30}.error-modal{border-top:4px solid var(--company-red,#d9282f);width:min(100%,440px)}.error-modal .eyebrow{color:var(--company-red,#d9282f)}.error-modal-body{margin:10px 0 4px;font-size:13px;line-height:1.65;color:var(--ink);white-space:pre-wrap;word-break:break-word}.error-modal .modal-submit{margin-top:18px}.modal-backdrop[hidden],.file-preview[hidden],.precheck[hidden]{display:none!important}.upload-modal{position:relative;width:min(100%,510px);max-height:calc(100dvh - 40px);margin:auto 0;background:#fff;border-radius:16px;padding:31px;box-shadow:0 20px 70px #10182040;overflow-y:auto;-webkit-overflow-scrolling:touch}.upload-modal h2{font-size:22px;margin-bottom:7px}.modal-intro{font-size:12px;margin-bottom:21px}.modal-close{position:absolute;right:19px;top:15px;border:0;background:none;color:var(--muted);font-size:25px;line-height:1;cursor:pointer}.upload-modal .upload-form{display:block}.dropzone{border:1.5px dashed #b9c9dc;border-radius:12px;background:#f8fbff;min-height:190px;padding:26px 20px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:var(--muted);cursor:pointer;transition:.15s}.dropzone:hover,.dropzone.dragover{border-color:var(--blue);background:#f0f6ff}.dropzone strong{color:var(--ink);font-size:13px}.dropzone small{font-size:10px;margin-top:6px}.dropzone-icon{width:39px;height:39px;border-radius:11px;background:#eaf1ff;color:var(--blue);display:grid;place-items:center;font-size:24px;margin-bottom:3px}.dropzone .file-input{position:absolute;width:1px;height:1px;opacity:0}.file-preview{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 13px;border-radius:9px;background:#f4f7f9}.file-preview>div{min-width:0}.file-preview strong,.file-preview span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview strong{font-size:11px}.file-preview span:not(.file-check){font-size:10px;color:var(--muted);margin-top:3px}.file-check{width:25px;height:25px;flex:none;border-radius:50%;display:grid;place-items:center;background:#e5f8ee;color:#14834c;font-weight:800}.precheck{padding:10px 12px;border-radius:8px;margin-top:10px;font-size:11px}.precheck.valid{background:#e5f8ee;color:#147848}.precheck.invalid{background:#ffebeb;color:#b52b2b}.modal-submit{width:100%;margin-top:17px}.modal-submit:disabled{background:#b8c5d3;cursor:not-allowed}.field-error{color:#b52b2b;font-size:11px;margin-top:10px}
.archive-head{margin-bottom:25px}.archive-upload{display:inline-flex;align-items:center;text-decoration:none;padding:12px 17px!important}.archive-summary{display:flex;align-items:center;gap:13px;background:linear-gradient(105deg,#eef5ff,#f8fbff);border:1px solid #dce8fb;border-radius:14px;padding:17px 20px;margin-bottom:22px}.summary-icon{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;background:#dceaff;color:var(--blue);font-size:18px;font-weight:800}.archive-summary strong{display:block;font-size:18px;line-height:1.1}.archive-summary span{display:block;color:var(--muted);font-size:10px;margin-top:4px}.summary-divider{width:1px;height:30px;background:#d7e2f0;margin:0 8px}.summary-hint{color:#63758a;font-size:11px}.archive-filters{display:flex;gap:10px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:27px}.search-field{height:42px;display:flex;align-items:center;gap:9px;flex:1;min-width:220px;padding:0 13px;border:1px solid #dce3e8;border-radius:9px;color:#8997a5}.search-field span{font-size:22px;line-height:1}.search-field input{width:100%;border:0;outline:0;background:none;font:11px Manrope;color:var(--ink)}.filter-select{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:9px;font-weight:700}.filter-select select{height:42px;min-width:145px;border:1px solid #dce3e8;border-radius:9px;padding:0 10px;background:#fff;color:var(--ink);font:11px Manrope;outline:0}.filter-submit{height:42px;border:0;border-radius:9px;background:#eaf1ff;color:var(--blue);padding:0 16px;font:700 11px Manrope;cursor:pointer}.filter-submit:hover{background:#dceaff}.archive-list-head{display:flex;align-items:center;gap:10px;margin-bottom:13px}.archive-list-head h2{margin:0}.archive-list-head>a{margin-left:auto;color:var(--blue);font-size:10px;text-decoration:none}.archive-list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.archive-row{display:flex;align-items:center;gap:15px;min-height:88px;padding:16px 20px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:.15s}.archive-row:last-child{border:0}.archive-row:hover{background:#fbfcff}.archive-info{flex:1;min-width:0}.archive-title{display:flex;align-items:center;gap:9px}.archive-title strong{font-size:13px}.archive-info>span{display:block;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px}.archive-info small{display:block;color:#9aa6b1;font-size:10px;margin-top:6px}.archive-action{color:var(--muted);font-size:10px;white-space:nowrap}.archive-action b{color:var(--blue);font-size:17px;margin-left:8px}.archive-empty{text-align:center;padding:68px 20px}.archive-empty h3{margin:13px 0 5px;font-size:15px}.archive-empty p{color:var(--muted);font-size:11px;margin:0 0 13px}.archive-empty a{color:var(--blue);font-size:11px;text-decoration:none}@media(max-width:700px){.archive-filters{flex-wrap:wrap}.search-field{flex-basis:100%}.filter-select{flex:1}.filter-select select{min-width:0;width:100%}.filter-submit{flex:0 0 auto}.summary-hint{display:none}.archive-action{font-size:0}.archive-action b{font-size:18px}.archive-row{padding:14px}.archive-upload{margin-top:15px}}
.name-modal .name-field{display:block;font-size:11px;font-weight:700;margin:8px 0 0;color:var(--ink)}.name-modal .name-field input{display:block;width:100%;margin-top:7px;border:1px solid #dce3e8;border-radius:8px;padding:12px;font:14px Manrope;color:var(--ink);outline:0}.name-modal .name-field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1a}.name-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.name-actions .secondary{border:0;border-radius:8px;background:#eaf1ff;color:var(--blue);padding:12px 17px;font:600 12px Manrope;cursor:pointer}.name-actions .secondary:hover{background:#dceaff}.name-actions .primary{margin:0}
#dwg-modal .upload-modal{border-top:4px solid var(--company-red);padding:34px 34px 30px;background:linear-gradient(180deg,#fff 0%,#fff 72%,#fff8f8 100%)}
#dwg-modal .upload-modal h2{font-size:24px;letter-spacing:-.8px}
#dwg-modal .modal-intro{max-width:410px;line-height:1.7}
#dwg-modal .modal-intro strong{color:var(--company-red);font-weight:800}
#dwg-modal .name-field{display:block;margin-top:20px;color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.2px}
#dwg-modal .name-field::before{content:"4";display:inline-grid;place-items:center;width:21px;height:21px;margin-right:8px;border-radius:50%;background:#ffebec;color:var(--company-red);font-size:10px;vertical-align:middle}
#dwg-modal .name-field input{display:block;width:100%;height:48px;margin-top:10px;padding:0 15px;border:1px solid #e2c8ca;border-radius:11px;background:#fff;color:var(--ink);font:600 14px Manrope;outline:0;transition:.15s}
#dwg-modal .name-field input::placeholder{color:#a9b1b7;font-weight:400}
#dwg-modal .name-field input:focus{border-color:var(--company-red);box-shadow:0 0 0 4px #d9282f1a;background:#fff}
#dwg-modal .modal-submit{height:46px;border-radius:10px;box-shadow:0 7px 16px #d9282f2b}
html[data-theme="dark"] #dwg-modal .upload-modal{background:linear-gradient(180deg,#172229 0%,#172229 72%,#2a1b20 100%)}
html[data-theme="dark"] #dwg-modal .name-field input{background:#10191e;color:var(--ink);border-color:#64343b}
html[data-theme="dark"] #dwg-modal .name-field input:focus{background:#10191e}
#dwg-modal .cad-format-hint{margin:0 0 18px;padding:12px 14px;border-radius:10px;background:#fff7f7;border:1px solid #f1c6c8;font-size:11px;line-height:1.6}
#dwg-modal .cad-format-hint strong{display:block;margin-bottom:6px;font-size:11px}
#dwg-modal .cad-format-hint ul{margin:0;padding-left:18px}
#dwg-modal .cad-format-hint li{margin:4px 0}
#dwg-modal .cad-format-hint code{padding:1px 5px;border-radius:5px;background:#fff;color:#8b1f24;font:600 10px Manrope}
#dwg-modal .cad-route-field{margin:18px 0 0;border:0;padding:0}
#dwg-modal .cad-route-field legend{font-size:11px;font-weight:800;color:var(--ink);margin-bottom:6px}
#dwg-modal .cad-route-note{margin:0 0 10px;color:var(--muted);font-size:10px;line-height:1.5}
#dwg-modal .cad-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#dwg-modal .cad-route-option{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #e2c8ca;border-radius:9px;background:#fff;cursor:pointer;font-size:11px;color:var(--ink)}
#dwg-modal .cad-route-option input{margin:0;accent-color:var(--company-red)}
#dwg-modal .cad-route-option:has(input:checked){border-color:var(--company-red);background:#fff7f7;box-shadow:0 0 0 3px #d9282f14}
html[data-theme="dark"] #dwg-modal .cad-format-hint{background:#2a1b20;border-color:#64343b}
html[data-theme="dark"] #dwg-modal .cad-format-hint code{background:#10191e;color:#f27a7e}
html[data-theme="dark"] #dwg-modal .cad-route-option{background:#10191e;border-color:#64343b}
html[data-theme="dark"] #dwg-modal .cad-route-option:has(input:checked){background:#2a1b20}
#dwg-modal .cad-step{display:inline-grid;place-items:center;width:21px;height:21px;margin-right:8px;border-radius:50%;background:#ffebec;color:var(--company-red);font-size:10px;vertical-align:middle;font-weight:800}
#dwg-modal .cad-parts-block{margin-top:18px;padding-top:16px;border-top:1px dashed #e2c8ca}
#dwg-modal .cad-parts-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
#dwg-modal .cad-parts-head strong{display:block;font-size:12px;margin-bottom:4px}
#dwg-modal .cad-parts-sub{display:block;color:var(--muted);font-size:10px;line-height:1.5;max-width:420px}
#dwg-modal .cad-parts-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}
#dwg-modal .cad-parts-search{flex:1;min-width:200px;margin:0}
#dwg-modal .cad-parts-search span{display:block;font-size:10px;font-weight:800;color:var(--ink);margin-bottom:6px}
#dwg-modal .cad-parts-search input{width:100%;height:36px;padding:0 12px;border:1px solid #e2c8ca;border-radius:9px;background:#fff;font:600 11px Manrope;color:var(--ink);outline:0}
#dwg-modal .cad-parts-search input:focus{border-color:var(--company-red);box-shadow:0 0 0 3px #d9282f14}
#dwg-modal .cad-parts-filter-meta{font-size:10px;font-weight:700;color:var(--muted);white-space:nowrap}
#dwg-modal .cad-parts-table tbody tr[hidden]{display:none}
#dwg-modal .cad-parts-bulk-row th{background:#fff;border-bottom:1px solid #f0e3e4}
#dwg-modal .cad-bulk-label{text-align:left;font-size:9px;font-weight:800;color:var(--muted);vertical-align:middle}
#dwg-modal .cad-col-toggle-wrap{display:grid;place-items:center;gap:4px;margin:0;cursor:pointer;font-size:8px;font-weight:800;color:#5b6670;line-height:1.2}
#dwg-modal .cad-col-toggle-wrap input{margin:0;accent-color:var(--company-red)}
#dwg-modal .cad-col-toggle-wrap span{max-width:52px;text-align:center}
#dwg-modal .cad-apply-default{border:0;border-radius:8px;background:#eaf1ff;color:var(--blue);padding:10px 12px;font:700 10px Manrope;cursor:pointer;white-space:nowrap}
#dwg-modal .cad-apply-default:hover{background:#dceaff}
#dwg-modal .cad-parts-table-wrap{max-height:260px;margin-top:12px;overflow:auto;border:1px solid #e2c8ca;border-radius:10px;background:#fff}
#dwg-modal .cad-parts-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:10px}
#dwg-modal .cad-parts-table th,#dwg-modal .cad-parts-table td{padding:8px 9px;border-bottom:1px solid #f0e3e4;text-align:left;vertical-align:middle}
#dwg-modal .cad-parts-table thead th{position:sticky;top:0;background:#fff7f7;z-index:1;font-size:9px;font-weight:800;color:#5b6670}
#dwg-modal .cad-parts-table tbody tr:last-child td{border-bottom:0}
#dwg-modal .cad-part-file{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:var(--ink)}
#dwg-modal .cad-part-qty{text-align:center;font-weight:700}
#dwg-modal .cad-paint-col{min-width:118px}
#dwg-modal .cad-paint-input{width:100%;min-width:104px;height:30px;padding:0 8px;border:1px solid #e2c8ca;border-radius:8px;background:#fff;font:600 10px Manrope;color:var(--ink);outline:0}
#dwg-modal .cad-paint-input:focus{border-color:var(--company-red);box-shadow:0 0 0 3px #d9282f14}
#dwg-modal .cad-paint-input:disabled{background:#f4f4f4;color:#a9b1b7;cursor:not-allowed}
#dwg-modal tr.cad-paint-required .cad-paint-input:not(:disabled){border-color:#d9282f66}
#dwg-modal .cad-route-col{min-width:52px;text-align:center}
#dwg-modal .cad-part-route{display:grid;place-items:center;margin:0;cursor:pointer}
#dwg-modal .cad-part-route span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
#dwg-modal .cad-part-route input{margin:0;accent-color:var(--company-red)}
#dwg-modal .upload-modal.cad-modal-wide{width:min(100%,920px)}
#upload-modal .upload-modal.cad-modal-wide{width:min(100%,920px)}
#upload-modal .pronest-material-block{margin-top:0}
#upload-modal .pronest-material-block .project-object-field::before{content:"▣"}
#upload-modal .pronest-material-block .project-material-empty{margin:16px 0 0}
#upload-modal .pronest-qty-mode-field{border:1px solid var(--line);border-radius:12px;padding:12px 14px 10px;margin:0 0 14px}
#upload-modal .pronest-qty-mode-field legend{font-weight:700;padding:0 4px}
#upload-modal .pronest-qty-mode-note{margin:4px 0 10px;font-size:13px}
#upload-modal .pronest-qty-mode-option{display:flex;gap:8px;align-items:flex-start;margin:8px 0 0;font-size:14px;line-height:1.35;cursor:pointer}
#upload-modal .pronest-qty-mode-option input{margin-top:3px;flex-shrink:0}
#upload-modal .pronest-parts-block{margin-top:18px;padding-top:16px;border-top:1px dashed #e2c8ca}
#upload-modal .pronest-parts-block .cad-parts-head strong{display:block;font-size:12px;margin-bottom:4px}
#upload-modal .pronest-parts-block .cad-parts-sub{display:block;color:var(--muted);font-size:10px;line-height:1.5;max-width:520px}
#upload-modal .pronest-parts-block .cad-parts-table-wrap{max-height:260px;margin-top:12px;overflow:auto;border:1px solid #e2c8ca;border-radius:10px;background:#fff}
#upload-modal .pronest-parts-block .cad-parts-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:10px}
#upload-modal .pronest-parts-block .cad-parts-table th,#upload-modal .pronest-parts-block .cad-parts-table td{padding:8px 9px;border-bottom:1px solid #f0e3e4;text-align:left;vertical-align:middle}
#upload-modal .pronest-parts-block .cad-parts-table thead th{position:sticky;top:0;background:#fff7f7;z-index:1;font-size:9px;font-weight:800;color:#5b6670}
#upload-modal .pronest-parts-block .cad-route-col{min-width:52px;text-align:center}
#upload-modal .pronest-parts-block .cad-part-route{display:grid;place-items:center;margin:0;cursor:pointer}
#upload-modal .pronest-parts-block .cad-part-route span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
#upload-modal .pronest-parts-block .cad-part-route input{margin:0;accent-color:var(--company-red)}
#upload-modal .pronest-parts-block .cad-part-qty{text-align:center;font-weight:700}
#upload-modal .pronest-parts-block .cad-paint-col{min-width:118px}
#upload-modal .pronest-parts-block .cad-paint-input{width:100%;min-width:104px;height:30px;padding:0 8px;border:1px solid #e2c8ca;border-radius:8px;background:#fff;font:600 10px Manrope;color:var(--ink);outline:0}
#upload-modal .pronest-parts-block .cad-paint-input:focus{border-color:var(--company-red);box-shadow:0 0 0 3px #d9282f14}
#upload-modal .pronest-parts-block tr.cad-paint-required .cad-paint-input{border-color:#d9282f66}
html[data-theme="dark"] #upload-modal .pronest-parts-block{border-top-color:#64343b}
html[data-theme="dark"] #upload-modal .pronest-parts-block .cad-parts-table-wrap{background:#10191e;border-color:#64343b}
html[data-theme="dark"] #upload-modal .pronest-parts-block .cad-parts-table thead th{background:#2a1b20;color:var(--ink)}
html[data-theme="dark"] #upload-modal .pronest-parts-block .cad-parts-table th,html[data-theme="dark"] #upload-modal .pronest-parts-block .cad-parts-table td{border-bottom-color:#64343b}
html[data-theme="dark"] #upload-modal .pronest-parts-block .cad-paint-input{background:#10191e;color:var(--ink);border-color:#64343b}
html[data-theme="dark"] #upload-modal .dropzone{background:#10191e;border-color:#405a73}
html[data-theme="dark"] #upload-modal .dropzone:hover,html[data-theme="dark"] #upload-modal .dropzone.dragover{background:#172229;border-color:var(--blue)}
html[data-theme="dark"] #upload-modal .file-preview{background:#10191e}
html[data-theme="dark"] #upload-modal .dropzone strong{color:var(--ink)}
html[data-theme="dark"] #dwg-modal .cad-parts-block{border-top-color:#64343b}
html[data-theme="dark"] #dwg-modal .cad-parts-table-wrap{background:#10191e;border-color:#64343b}
html[data-theme="dark"] #dwg-modal .cad-parts-search input{background:#10191e;color:var(--ink);border-color:#64343b}
html[data-theme="dark"] #dwg-modal .cad-parts-bulk-row th{background:#10191e;border-bottom-color:#64343b}
html[data-theme="dark"] #dwg-modal .cad-parts-table thead th{background:#2a1b20}
html[data-theme="dark"] #dwg-modal .cad-apply-default{background:#202d38;color:#dceaff}
html[data-theme="dark"] #dwg-modal .cad-paint-input{background:#10191e;color:var(--ink);border-color:#64343b}
html[data-theme="dark"] #dwg-modal .cad-paint-input:disabled{background:#1a2228;color:#6d7880}
.detail-actions{display:flex;align-items:center;gap:13px}.danger-button{border:1px solid #f0b7b7;border-radius:8px;background:#fff5f5;color:#c33434;padding:9px 12px;font:600 11px Manrope;cursor:pointer}.danger-button:hover{background:#ffebeb}
.name-hint{margin:0 0 14px;padding:10px 12px;border-radius:8px;background:#eaf1ff;color:#2456a8;font-size:11px;line-height:1.5}
.form-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 30px;margin-top:8px;margin-bottom:24px;box-shadow:0 4px 20px #25364b05}
.form-card h2{margin-bottom:14px}
.form-card label{display:block;font-size:11px;font-weight:700;margin:16px 0}
.form-card input,.form-card textarea{display:block;width:100%;margin-top:7px;border:1px solid #dce3e8;border-radius:10px;padding:12px;font:14px Manrope;color:var(--ink);outline:0}
.form-card textarea{min-height:92px;resize:vertical}
.form-card .actions{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-top:22px}
.form-card .cancel{color:var(--muted);text-decoration:none;font-size:12px;font-weight:600}
.invite-create-form label{display:block;font-size:11px;font-weight:700;margin-bottom:14px}
.invite-create-form select{display:block;width:100%;max-width:280px;margin-top:7px;border:1px solid #dce3e8;border-radius:8px;padding:10px 12px;font:14px Manrope}
.project-object-field select{display:block;width:100%;margin-top:7px;border:1px solid #dce3e8;border-radius:8px;padding:12px;font:14px Manrope;color:var(--ink);background:#fff;outline:0}
.project-object-field select:invalid{color:#6b7280}
.project-object-field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1a}
.project-object-empty{margin:12px 0 0}
#dwg-modal .project-object-field{margin-top:18px}
#dwg-modal .project-object-field select{height:48px;border-color:#e2c8ca;border-radius:11px;font-weight:600}
html[data-theme="dark"] .project-object-field select{background:#10191e;color:var(--ink);border-color:#3a4a55}
.invite-copy-row{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}
.invite-url{flex:1;min-width:220px;border:1px solid #dce3e8;border-radius:8px;padding:11px 12px;font:12px Manrope;background:#f7f9fb}
.invite-list .invite-row{cursor:default}
.invite-list .invite-row:hover{background:#fff}
button.secondary{border:0;border-radius:8px;background:#eaf1ff;color:var(--blue);padding:10px 14px;font:600 12px Manrope;cursor:pointer;white-space:nowrap}
button.secondary:hover{background:#dceaff}
.invite-new{border-color:#a8c1f5;background:#f8fbff}
.project-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}
.pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:18px}
.page-btn{min-width:34px;height:34px;display:inline-grid;place-items:center;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);text-decoration:none;font:700 11px Manrope}
.page-btn:hover{border-color:var(--blue);color:var(--blue)}
.page-btn.current{background:var(--blue);border-color:var(--blue);color:#fff}
.page-btn.disabled{opacity:.38;pointer-events:none}
.page-ellipsis{color:var(--muted);padding:0 4px;font-weight:700}
.page-meta{margin-left:8px;color:var(--muted);font-size:11px}
.upload-project-name{display:block;margin-top:16px;padding:14px 15px 15px;border:1px solid #dce8fb;border-radius:12px;background:linear-gradient(135deg,#f7faff,#fff);color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.15px}
.upload-project-name::before{content:"✦";display:inline-grid;place-items:center;width:21px;height:21px;margin-right:8px;border-radius:7px;background:#eaf1ff;color:var(--blue);font-size:11px;vertical-align:middle}
.upload-project-name input{display:block;width:100%;height:46px;margin-top:10px;padding:0 14px;border:1px solid #cbdaf2;border-radius:10px;background:#fff;color:var(--ink);font:600 14px Manrope;outline:0;transition:.15s}
.upload-project-name input::placeholder{color:#a2adba;font-weight:400}
.upload-project-name input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2563eb1a}
#upload-modal .project-object-field{display:block;margin-top:16px;padding:14px 15px 15px;border:1px solid #dce8fb;border-radius:12px;background:linear-gradient(135deg,#f7faff,#fff);color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.15px}
#upload-modal .project-object-field::before{content:"◎";display:inline-grid;place-items:center;width:21px;height:21px;margin-right:8px;border-radius:7px;background:#eaf1ff;color:var(--blue);font-size:11px;vertical-align:middle}
#upload-modal .project-object-field select{display:block;width:100%;height:46px;margin-top:10px;padding:0 14px;border:1px solid #cbdaf2;border-radius:10px;background:#fff;color:var(--ink);font:600 14px Manrope;outline:0;transition:.15s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2377828e' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
#upload-modal .project-object-field select:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2563eb1a}
html[data-theme="dark"] .upload-project-name{border-color:#30465d;background:#172229}
html[data-theme="dark"] .upload-project-name input{background:#10191e;color:var(--ink);border-color:#405a73}
html[data-theme="dark"] #upload-modal .project-object-field{border-color:#30465d;background:#172229}
html[data-theme="dark"] #upload-modal .project-object-field select{background-color:#10191e;color:var(--ink);border-color:#405a73}
.btn-ico{display:inline-flex;align-items:center;justify-content:center;width:1.05em;height:1.05em;flex:none;color:currentColor}
.btn-ico svg{width:1.05em;height:1.05em;display:block}
.btn-ico.is-spinning svg{animation:btn-ico-spin .75s linear infinite}
@keyframes btn-ico-spin{to{transform:rotate(360deg)}}
button.primary,button.secondary,button.danger-button,button.filter-submit,button.modal-close,.account-actions button,.archive-upload,a.primary.full,.page-btn,.form-card .cancel{display:inline-flex;align-items:center;justify-content:center;gap:.45em}
button.modal-close{padding:4px 8px;border-radius:8px;color:var(--muted)}
button.modal-close:hover{background:#eef1f3;color:var(--ink)}
html[data-theme="dark"] button.modal-close:hover{background:#2a3740}
.page-btn .btn-ico{width:1em;height:1em}
.page-btn .btn-ico svg{width:1em;height:1em}
.marking-target-field{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:14px 0 0;background:#f8fbff}
.marking-target-field legend{font-size:12px;font-weight:700;padding:0 6px}
.marking-target-note{font-size:11px;margin:0 0 10px}
.marking-target-modes{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.marking-target-mode{display:flex;gap:8px;align-items:flex-start;font-size:12px}
.marking-target-existing{margin-top:4px}
.marking-project-hints{font-size:11px;margin:6px 0 0}
.replace-check-summary{font-size:11px;line-height:1.5;margin-top:10px;padding:10px 12px;border-radius:8px;background:#eef6ff;color:#1e4a8c}
.replace-check-summary.valid{background:#e5f8ee;color:#147848}
.replace-check-summary.invalid{background:#ffebeb;color:#b52b2b}
.results .result-grid + .label-export-panel{margin-top:22px}
.label-export-panel{margin:0;padding:0;border:0;background:transparent}
.label-export-status{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px;padding:10px 12px;border-radius:10px;border:1px solid var(--line)}
.label-export-status--ready{background:#f4f8f5;border-color:#c5dccf;color:#3d6b55}
.label-export-status--blocked{background:#faf6f6;border-color:#e5d0d0;color:#8a4a4a}
.label-export-status-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}
.label-export-status--ready .label-export-status-dot{background:#6fa888}
.label-export-status--blocked .label-export-status-dot{background:#c97a7a}
.label-export-status-copy{display:flex;flex-direction:column;gap:3px;font-size:12px;line-height:1.45}
.label-export-status-copy strong{font-size:13px;font-weight:700}
.label-export-status-copy span{font-weight:500;color:var(--muted)}
.label-export-status--blocked .label-export-status-copy span{color:#9a6b6b}
.pronest-guard{display:flex;flex-direction:column;gap:10px;margin:0 0 14px;padding:0 0 14px;border-bottom:1px solid #eef1f3}
.pronest-guard-error{margin:0;font-size:12px;color:#b52b2b}
.pronest-guard-details{font-size:12px;color:var(--ink)}
.pronest-guard-details summary{cursor:pointer;font-weight:700;color:var(--muted)}
.pronest-guard-details ul{margin:8px 0 0;padding-left:18px;line-height:1.5}
.pronest-guard-import{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}
.pronest-guard-import input[type=file]{font:500 12px Manrope;max-width:100%;flex:1 1 200px;margin:0;padding:8px 0}
.pronest-guard-import .secondary{flex:none;margin-left:auto}
@media(max-width:640px){.pronest-guard-import .secondary{margin-left:0;width:100%}}
.pronest-confirm-field{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.45;margin:0;cursor:pointer;color:var(--muted)}
.pronest-confirm-field input{margin-top:2px;accent-color:var(--company-red);flex-shrink:0}
.pronest-confirm-field span{flex:1}
.result-grid--labels{margin-top:2px}
button.result-card{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;text-decoration:none;border:1px solid var(--line);border-radius:10px;padding:17px;cursor:pointer;font:inherit;color:inherit;background:#fff;transition:.2s}
button.result-card.result-card--export-ok{border-color:#cfe0d6;background:#fff}
button.result-card.result-card--export-ok:hover{border-color:#b5d4c4;box-shadow:0 4px 16px #5a8f7214}
button.result-card.result-card--export-blocked{border-color:#e8d8d8;background:#fff}
button.result-card.result-card--export-blocked:hover{border-color:#d9bcbc;box-shadow:0 4px 16px #a85a5a12}
button.result-card.result-card--export-ok .label-export-icon{background:#e8f2ec;color:#5a8f72}
button.result-card.result-card--export-blocked .label-export-icon{background:#f5eaea;color:#b06a6a}
button.result-card:not(.result-card--label-export):hover{border-color:#a8c1f5;box-shadow:none}
html[data-theme="dark"] .label-export-status--ready{background:#1a2420;border-color:#3d5c4a;color:#a8c9b8}
html[data-theme="dark"] .label-export-status--blocked{background:#241c1c;border-color:#5c4545;color:#d4b0b0}
html[data-theme="dark"] .label-export-status--ready .label-export-status-dot{background:#6fa888}
html[data-theme="dark"] .label-export-status--blocked .label-export-status-dot{background:#b07a7a}
html[data-theme="dark"] .pronest-guard{border-bottom-color:#2a3740}
html[data-theme="dark"] button.result-card{background:#10191e}
html[data-theme="dark"] button.result-card.result-card--export-ok{border-color:#3d5c4a}
html[data-theme="dark"] button.result-card.result-card--export-blocked{border-color:#5c4545}
html[data-theme="dark"] button.result-card.result-card--export-ok .label-export-icon{background:#243028;color:#8fb89f}
html[data-theme="dark"] button.result-card.result-card--export-blocked .label-export-icon{background:#302424;color:#c9a0a0}
