:root{color-scheme:light;--ink:#202d29;--dim:#738079;--green:#276950;--line:#dfe6e0;--paper:#fff;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}
*{box-sizing:border-box}body{margin:0;min-width:1160px;background:#f3f5f1;color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,input,select,summary{outline-offset:4px}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}
.topbar{height:72px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 42px}.brand{font-size:23px;font-weight:760;letter-spacing:-.8px;color:var(--ink)}.brand-sub{font-size:12px;font-weight:500;letter-spacing:0;border-left:1px solid var(--line);margin-left:15px;padding-left:15px;color:var(--dim)}.topbar nav a{font-size:13px;font-weight:600}.wrap{max-width:1680px;margin:0 auto;padding:35px 42px 60px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.page-heading h1{margin:0;font-size:30px;letter-spacing:-.9px;font-weight:650}.page-heading p{margin:6px 0 0;color:var(--dim)}.back-link{font-size:12px;display:block;margin-bottom:7px}.rotation-note{font-size:12px;color:var(--dim)}h2{font-size:16px;font-weight:650;margin:0 0 15px;letter-spacing:-.2px}h3{font-size:13px;margin:10px 0 0}.dim,.hint{color:var(--dim)}.hint{font-size:12px;line-height:1.55;margin:9px 0 0}.mono,.num{font-variant-numeric:tabular-nums}
label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:550}input:not([type=checkbox]):not([type=range]):not([type=file]),select{height:39px;padding:7px 11px;background:#fff;color:var(--ink);border:1px solid #cfd9d1;border-radius:5px;min-width:0;width:100%;font-variant-numeric:tabular-nums}input:focus,select:focus{border-color:var(--green)}input[type=checkbox]{width:15px;height:15px;accent-color:var(--green);margin:0}.check{flex-direction:row;align-items:center;gap:8px;font-size:12px}.check.compact{font-size:11px;font-weight:450}.btn{min-height:37px;display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border:1px solid #cbd6cd;border-radius:5px;background:#fff;color:var(--ink);font-weight:600;font-size:12px;cursor:pointer;white-space:nowrap}.btn:hover{background:#f0f4ef}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.primary:hover{background:#205b45}.btn:disabled{opacity:.4;cursor:default}.text-button{border:0;background:none;padding:0;color:var(--green);font-size:11px;cursor:pointer;text-align:left}.text-button:hover{text-decoration:underline}.row{display:flex;align-items:center;gap:8px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{margin:0}.section-heading .dim{font-size:12px}
.upload-panel{background:#fff;padding:28px;border:1px solid var(--line);border-radius:9px;max-width:1120px}.upload-form{display:grid;grid-template-columns:1fr 250px;gap:30px}.file-zone{position:relative;min-height:185px;border:1px dashed #b9c9be;border-radius:7px;background:#f9fbf8;align-items:center;justify-content:center;gap:10px;text-align:center;cursor:pointer;padding:25px}.file-zone:hover,.file-zone.dragover{border-color:var(--green);background:#f0f7ef}.file-zone input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.file-zone strong{font-size:14px;font-weight:550;overflow-wrap:anywhere;max-width:100%}.file-symbol{font-family:var(--mono);font-size:12px;letter-spacing:1px;color:var(--green);border:1px solid #cfddcf;padding:12px 9px;background:#fff;border-radius:3px}.file-zone .dim{font-size:11px;font-weight:400}.upload-actions{display:flex;flex-direction:column;justify-content:center}.upload-actions p{font-size:12px;line-height:1.55;margin:10px 0 18px}.form-status{margin:12px 0 0;font-size:12px;color:#ad462d}.form-status:empty{display:none}.history{margin-top:35px;max-width:1120px}.jobs-table{width:100%;border-collapse:collapse;margin-top:15px;font-size:13px}.jobs-table th{font-size:11px;color:var(--dim);font-weight:500;text-align:left;padding:10px 16px;border-bottom:1px solid #cfd9d1}.jobs-table td{padding:16px;border-bottom:1px solid var(--line)}.jobs-table tr:hover td{background:#ecf1ea}.jobs-table th:nth-child(2),.jobs-table th:nth-child(3),.jobs-table td:nth-child(2),.jobs-table td:nth-child(3){text-align:right;width:110px;font-variant-numeric:tabular-nums}.jobs-table td:last-child{text-align:right;width:140px}.jobs-table td:first-child>a{color:var(--ink);font-weight:550}.jobs-table small{display:block;font-size:10px;color:#8a968e;margin-top:3px}.table-action{font-size:12px;font-weight:600}.jobs-table .empty{padding:35px;color:var(--dim)}
.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:25px;align-items:start}.settings-panel{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.control-section{padding:22px;border-bottom:1px solid var(--line)}.control-section h2{font-size:14px}.control-section>.section-heading{margin-bottom:15px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;margin:18px 0}.live-totals{font-size:11px;color:var(--dim);margin:8px 0 2px}#copies-rows .row{display:block}#copies-rows b{display:none}#copies-rows .row+.row{margin-top:12px}.advanced{padding:17px 22px;border-bottom:1px solid var(--line)}summary{font-size:12px;font-weight:550;cursor:pointer;color:var(--ink)}.advanced-content{display:flex;flex-direction:column;gap:13px;padding-top:19px}.advanced-content .field-pair{margin:0}.optimize-action{padding:20px 22px}.optimize-action .btn{width:100%;font-size:13px}#opt-status{display:block;font-size:11px;color:var(--dim);margin-top:9px}#opt-status:empty{display:none}.result-panel{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.result-heading{padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line)}.result-heading h2{margin-bottom:5px}#results{font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums}.preview-toolbar{display:flex;align-items:center;gap:16px;padding:13px 20px;border-bottom:1px solid var(--line)}.sheet-picker{flex-direction:row;align-items:center;white-space:nowrap}.sheet-picker select{width:140px;height:32px;font-size:11px}.modes{display:flex;gap:3px}.modes button{border:0;background:transparent;color:var(--dim);padding:8px 9px;border-radius:4px;font-size:11px;font-weight:550;cursor:pointer}.modes button:hover{background:#f0f4ed}.modes button.on{background:#eaf1e8;color:var(--green)}.zoom-label{margin-left:auto;display:flex;flex-direction:row;align-items:center;gap:8px;font-size:10px;font-weight:400}.zoom-label input{width:75px;accent-color:var(--green)}.canvas-wrap{position:relative;background:#f4f6f1;padding:18px}#preview-frame{height:calc(100vh - 345px);min-height:430px;max-height:750px;overflow:auto;background:white;border:1px solid #d5ded4}#view{display:block;width:100%;height:100%;max-height:none;background:#fff}#preview-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#81907f;font-size:13px;pointer-events:none}#view .part{fill:rgba(60,123,84,.065);stroke:#69a57a;stroke-width:1.5;cursor:grab}#view .part.sel{fill:rgba(54,127,92,.16);stroke:#226948;stroke-width:4}#view .lbl{fill:#526752;font:12px var(--mono);text-anchor:middle;pointer-events:none}#view.mode-MARKING .part{fill:rgba(70,140,88,.025);stroke:#b9cdbb}#view.mode-SPEED .part{stroke-width:.5;fill:none}#view .rapid{fill:none;stroke:#888;stroke-dasharray:6 4}.preview-footer{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line)}#processing-info{font-size:10px;color:var(--dim);margin:0;line-height:1.6;max-width:70%}.download-actions{display:flex;gap:7px;flex-shrink:0}.download-actions .btn{font-size:11px;padding:7px 11px}.edit-panel{padding:16px 20px;border-top:1px solid var(--line)}.edit-panel .row{margin-top:13px}.warn{margin:15px 20px;padding:11px 13px;background:#fff7ec;border:1px solid #ecd5b3;border-radius:5px;color:#986329;font-size:12px}.tooltip{position:fixed;background:#fff;border:1px solid var(--line);padding:8px;font-size:12px;pointer-events:none;z-index:10}
.upload-simple{display:grid;grid-template-columns:minmax(360px,1fr) 175px 210px;align-items:end;gap:24px}.upload-simple input[type=file]{height:39px;font-size:12px;max-width:100%;padding-top:5px}.upload-simple input[type=file]::file-selector-button{border:1px solid #cbd6cd;border-radius:5px;padding:7px 12px;margin-right:12px;background:#f4f7f2;color:var(--ink);cursor:pointer}.time-field{margin-top:21px}.control-section .field-pair{margin-top:0}.result-heading{padding:19px 24px}.result-heading h2{margin-bottom:4px}.preview-footer{justify-content:flex-end}.canvas-wrap{padding:18px}.preview-toolbar{justify-content:space-between}#view .part{cursor:default}.page-heading h1{font-size:25px}.workspace{grid-template-columns:310px minmax(0,1fr)}
.brand{display:inline-flex;align-items:center;gap:18px}.brand-credit{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:450;letter-spacing:0;color:var(--dim)}.brand-credit img{display:block;margin-left:3px}.brand-credit span{font-weight:600;color:#455b66}.brand:hover{text-decoration:none}.upload-actions .btn{margin-top:22px}#preview-frame{overflow-x:hidden;overflow-y:auto}#view{height:auto;max-height:none}
.header-session{display:flex;align-items:center;gap:22px}.next-password{display:flex;flex-direction:column;text-align:right;font-size:11px;color:var(--dim);line-height:1.5}.next-password strong{font-family:var(--mono);font-weight:600;color:#39574c;margin-left:4px}.next-password small{font-size:10px}.login-panel{width:370px;margin:90px auto;background:white;border:1px solid var(--line);border-radius:9px;padding:30px}.login-panel h1{font-size:25px;margin:0 0 24px;letter-spacing:-.5px}.login-panel .btn{width:100%;margin-top:20px}.login-panel .hint{text-align:center;margin-top:15px;font-size:11px}.login-error{font-size:12px;color:#a94b36;margin-bottom:0}
.material-cut-check{margin-top:13px}

.upload-form{display:block}.file-zone[aria-busy=true]{opacity:.65;cursor:wait}.control-section>.field-pair{margin-top:18px}#copies-rows{margin-top:15px}

.upload-form{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:30px;align-items:center}.password-note{position:relative;display:flex;flex-direction:column;justify-content:center;gap:15px;min-height:185px;padding:25px 22px;background:linear-gradient(170deg,#fff3a2,#f7e783);color:#544a23;transform:rotate(-2deg);box-shadow:2px 5px 7px #554a2320;isolation:isolate}.password-note::after{content:"";position:absolute;right:0;bottom:0;width:21px;height:21px;background:linear-gradient(135deg,#e4ce67 50%,#fff 51%);box-shadow:-2px -2px 3px #554a2310}.password-note>span{font-family:Noteworthy,"Segoe Print",cursive;font-size:16px}.password-note strong{font-family:var(--mono);font-size:28px;letter-spacing:2px;color:#413918}.password-note small{font-size:11px;color:#716335}

.settings-panel .field-pair{grid-template-columns:1fr;gap:16px;margin:16px 0}.settings-panel label{line-height:1.45}.settings-panel .time-field{margin-top:0}.settings-toggles{display:flex;flex-direction:column;gap:13px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.settings-toggles .check{margin:0}.advanced-content{gap:16px}.advanced-content h3{margin:4px 0 0}.settings-panel input:not([type=checkbox]),.settings-panel select{margin-top:2px}

.preview-loading{position:absolute;inset:18px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;z-index:2;color:var(--dim);font-size:13px}.preview-loading[hidden]{display:none}.skeleton-parts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:70%;max-width:560px}.skeleton-parts i{height:125px;border-radius:40px 40px 18px 18px;background:linear-gradient(100deg,#eff2ec 25%,#fafbf8 50%,#eff2ec 75%);background-size:200% 100%;animation:skeleton-shimmer 1.6s ease-in-out infinite}.skeleton-parts i:nth-child(2n){border-radius:14px;height:150px}.quantity-control{position:relative;display:block}.quantity-control input{padding-right:79px;appearance:textfield;-moz-appearance:textfield}.quantity-control input::-webkit-inner-spin-button,.quantity-control input::-webkit-outer-spin-button{appearance:none;margin:0}.quantity-buttons{position:absolute;right:5px;top:7px;bottom:5px;display:flex;gap:3px}.quantity-buttons button{width:29px;border:0;border-radius:4px;background:#f0f4ed;color:var(--green);font-size:19px;cursor:pointer}.quantity-buttons button:hover{background:#e2ebde}.password-note{gap:19px}@keyframes skeleton-shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton-parts i{animation:none}}
