 .print-sheet{display:none}
:root{--ink:#182522;--muted:#73807a;--line:#dfe5df;--paper:#fbfaf5;--sage:#dce9df;--green:#245744;--orange:#ef744d;--yellow:#f4c84b;--white:#fff;--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}.app-shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:#17372d;color:#edf4eb;padding:30px 20px 22px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;color:inherit;text-decoration:none;margin:2px 10px 70px}.brand-mark{display:grid;place-items:center;width:30px;height:30px;background:var(--yellow);color:var(--ink);font-weight:800;border-radius:8px;transform:rotate(-7deg)}.brand b{display:block;font-size:15px;letter-spacing:-.5px}.brand small{display:block;color:#a5b8aa;font-family:var(--mono);font-size:8px;letter-spacing:1.2px;margin-top:2px}.nav-link{display:flex;gap:12px;align-items:center;padding:13px 12px;border-radius:8px;color:#a9bbb0;text-decoration:none;font-size:12px;margin-bottom:5px}.nav-link span{font-size:20px;line-height:12px;color:#c6d9c9}.nav-link.active{background:#2b5946;color:#fff}.nav-link.active span{color:var(--yellow)}.sidebar-foot{margin-top:auto;border-top:1px solid #355746;padding:20px 10px 0;display:flex;gap:9px;color:#c8d8ca;font-size:10px;line-height:1.5}.sidebar-foot small{color:#8ca393;font-family:var(--mono);font-size:8px}.status-dot{width:7px;height:7px;background:#7cc47f;border-radius:50%;margin-top:5px;box-shadow:0 0 0 4px #345a47}main{padding:34px 48px 25px;max-width:1500px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:26px}.eyebrow,.section-kicker,.mini-label{font-family:var(--mono);font-size:9px;letter-spacing:1.5px;color:var(--orange);font-weight:500}.topbar h1{font-size:30px;line-height:1;margin:10px 0 0;letter-spacing:-1.5px}.topbar time{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:8px}.workspace{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) minmax(250px,.82fr);gap:18px;padding:34px 0 42px}.panel,.preview-column{min-width:0}.panel{border:1px solid var(--line);background:var(--white);padding:22px;border-radius:10px;box-shadow:0 8px 24px rgba(30,60,40,.035)}.panel-heading,.preview-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.panel h2,.preview-heading h2,.register-section h2{font-size:17px;letter-spacing:-.6px;margin:9px 0 20px}.count-badge,.format-tag,.preview-note{font-family:var(--mono);font-size:9px;color:var(--muted);white-space:nowrap;border:1px solid var(--line);padding:6px 8px;border-radius:4px}.search-wrap{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--ink);padding:4px 0 9px;margin-bottom:13px;color:var(--muted)}.search-wrap span{font-size:22px}.search-wrap input{border:0;outline:0;width:100%;font:12px var(--sans);background:transparent}.product-list{min-height:216px;max-height:280px;overflow:auto}.product-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid #eef1ed;cursor:pointer}.product-row:hover strong{color:var(--orange)}.product-row.selected strong{color:var(--green)}.product-row strong{font-size:12px;font-weight:700;transition:color .15s}.product-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.row-check{width:18px;height:18px;border:1px solid #bccac0;border-radius:50%;display:grid;place-items:center;font-size:11px;color:transparent;flex:0 0 auto}.selected .row-check{background:var(--green);border-color:var(--green);color:#fff}.text-button{background:none;border:0;padding:18px 0 0;color:var(--orange);font:600 11px var(--sans);cursor:pointer}.selected-product{background:var(--sage);padding:17px;border-radius:7px;margin:1px 0 26px}.selected-product strong{display:block;font-size:15px;margin:8px 0 4px}.selected-product span:last-child{font-size:10px;color:#59705f}.quantity-control{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:19px}.quantity-control label{font-size:11px;font-weight:700}.stepper{display:flex;align-items:center;gap:14px}.stepper button{width:28px;height:28px;background:transparent;border:1px solid var(--line);border-radius:5px;color:var(--green);font-size:18px;cursor:pointer}.stepper output{font:500 16px var(--mono);min-width:18px;text-align:center}.print-button{margin-top:26px;width:100%;height:45px;border:0;border-radius:6px;background:var(--green);color:#fff;font:700 12px var(--sans);cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px}.print-button:disabled{background:#b9c8bd;cursor:not-allowed}.print-button span{font-size:18px}.print-button kbd{font:9px var(--mono);font-weight:400;color:#cce1d1;margin-left:auto;margin-right:11px}.hint{font:9px var(--mono);color:var(--muted);line-height:1.5;margin:13px 0 0}.preview-column{padding:0 14px}.preview-heading h2{margin-bottom:20px}.preview-note{border:0;padding-right:0}.preview-stage{min-height:282px;background:#edf0e9;display:grid;place-items:center;border-radius:8px;position:relative}.label-preview{width:151px;height:151px;background:#fff;border:1px solid #d4dbd3;padding:11px;position:relative;box-shadow:0 8px 18px rgba(30,50,30,.1);transform:rotate(180deg);font-family:var(--sans);text-align:left}.label-product{position:absolute;top:16px;left:11px;right:11px;font-size:9pt;line-height:1.1;font-weight:700;overflow:hidden;max-height:20px}.label-date{position:absolute;left:11px;right:11px;font-size:8pt;font-weight:500}.label-date:nth-of-type(2){top:61px}.label-date:nth-of-type(3){top:106px}.specs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:18px}.specs span{display:block;font:8px var(--mono);color:var(--muted);margin-bottom:6px}.specs b{font-size:9px}.register-section{border-top:1px solid var(--line);padding:34px 0;display:grid;grid-template-columns:1fr 1.3fr;gap:40px;position:relative}.register-section h2{font-size:22px;margin:9px 0 8px}.register-section p{font-size:11px;color:var(--muted);max-width:330px;line-height:1.6;margin:0}.register-section form{display:grid;grid-template-columns:1fr 120px 125px;align-items:end;gap:12px}.register-section label{font:9px var(--mono);color:var(--muted)}.register-section input{display:block;width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:12px 0 9px;outline:0;font:12px var(--sans)}.register-section button{height:42px;border:0;border-radius:6px;background:var(--orange);color:#fff;font:700 11px var(--sans);cursor:pointer}.register-section button span{font-size:17px;margin-left:4px}.form-message{position:absolute;right:0;bottom:9px;font:9px var(--mono);color:var(--green)}footer{border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;font:8px var(--mono);color:#98a39b;text-transform:uppercase;letter-spacing:.5px}@media(max-width:1050px){.app-shell{grid-template-columns:190px 1fr}.workspace{grid-template-columns:1fr 1fr}.preview-column{grid-column:1/-1;padding:0;display:grid;grid-template-columns:1fr 1.5fr;gap:25px;align-items:center}.preview-heading{grid-column:1/-1}.preview-stage{min-height:240px}.specs{align-self:end}}@media(max-width:700px){.app-shell{display:block}.sidebar{height:auto;padding:15px 17px;flex-direction:row;align-items:center}.brand{margin:0 auto 0 0}.sidebar nav{display:flex;gap:4px}.nav-link{font-size:0;padding:10px}.nav-link span{font-size:21px}.sidebar-foot{display:none}main{padding:24px 18px}.topbar h1{font-size:25px}.topbar time{font-size:8px}.workspace{display:block;padding-top:26px}.panel{margin-bottom:14px}.preview-column{display:block;padding:16px 0 5px}.preview-stage{min-height:260px}.register-section{display:block}.register-section form{display:grid;grid-template-columns:1fr 100px;margin-top:26px}.register-section form label:first-child{grid-column:1/-1}.register-section button{grid-column:1/-1}footer{display:block;line-height:2.1}}
@media print{@page{size:40mm 40mm;margin:0}.app-shell{display:block}.sidebar,main>header,main>.workspace,main>.register-section,main>footer{display:none}.print-sheet{display:block}.label-preview{display:block;width:40mm;height:40mm;margin:0;padding:3mm;box-shadow:none;border:0;transform:rotate(180deg);page-break-after:always}.label-product{top:5mm;left:3mm;right:3mm;font-size:9pt}.label-date:nth-of-type(2){top:17mm;left:3mm}.label-date:nth-of-type(3){top:29mm;left:3mm}}
.label-settings{border-bottom:1px solid var(--line);padding:15px 0 12px}.label-settings label{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:700}.label-settings output{font:9px var(--mono);color:var(--orange)}.label-settings input[type=range]{display:block;width:100%;accent-color:var(--green);margin:12px 0 2px}.label-settings select{margin-top:10px;width:100%;border:1px solid var(--line);border-radius:5px;background:var(--paper);padding:8px;font:11px var(--sans);color:var(--ink)}.label-preview{transform:rotate(var(--label-rotation,180deg))}.label-product{font-size:var(--label-font-size,9pt)}.label-date{font-size:calc(var(--label-font-size,9pt) - 1pt)}
.line-font-setting{display:block;color:var(--muted);font:8px var(--mono);margin-bottom:9px}.line-font-setting output{float:right;color:var(--orange);font:9px var(--mono)}.line-font-setting input[type=range]{display:block;width:100%;padding:0;border:0;accent-color:var(--green);margin-top:9px}.label-product{font-size:var(--label-font-size-1,var(--label-font-size,9pt))}.label-date:nth-of-type(2){font-size:var(--label-font-size-2,var(--label-font-size,9pt))}.label-date:nth-of-type(3){font-size:var(--label-font-size-3,var(--label-font-size,9pt))}
.text-settings{border-bottom:1px solid var(--line);padding:15px 0 4px}.settings-title{display:block;font-size:10px;font-weight:700;margin-bottom:10px}.settings-title small{display:block;color:var(--muted);font:8px var(--mono);font-weight:400;margin-top:5px}.text-settings label{display:block;color:var(--muted);font:8px var(--mono);margin-bottom:9px}.text-settings input{display:block;width:100%;border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:7px 8px;margin-top:4px;outline:0;color:var(--ink);font:10px var(--sans)}.text-settings label:last-child{margin-top:13px}.text-settings label:last-child output{float:right;color:var(--orange);font:9px var(--mono)}.text-settings input[type=range]{padding:0;border:0;accent-color:var(--green);margin-top:10px}.label-product{top:5mm;left:3mm;right:3mm}.label-date:nth-of-type(2){top:calc(5mm + var(--line-spacing, 12mm));left:3mm}.label-date:nth-of-type(3){top:calc(5mm + var(--line-spacing, 12mm) * 2);left:3mm}
.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(17,42,33,.48)}.modal-backdrop[hidden]{display:none}.product-modal{position:relative;width:min(460px,100%);padding:30px;background:var(--white);border-radius:10px;box-shadow:0 24px 60px rgba(12,34,25,.25)}.product-modal h2{font-size:22px;letter-spacing:-.8px;margin:10px 0 8px}.product-modal p{max-width:350px;color:var(--muted);font-size:11px;line-height:1.6;margin:0 0 25px}.modal-close{position:absolute;top:14px;right:16px;width:30px;height:30px;border:0;background:transparent;color:var(--muted);font-size:25px;line-height:1;cursor:pointer}.product-modal form{display:grid;gap:17px}.product-modal label{font:9px var(--mono);color:var(--muted)}.product-modal input{display:block;width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:12px 0 9px;outline:0;font:12px var(--sans)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.modal-actions button{height:42px;border:0;border-radius:6px;padding:0 17px;background:var(--orange);color:#fff;font:700 11px var(--sans);cursor:pointer}.modal-actions .modal-cancel{background:transparent;color:var(--muted);border:1px solid var(--line)}.modal-actions span{font-size:17px;margin-left:4px}.product-modal .form-message{font:9px var(--mono);color:var(--green);margin-top:12px}.modal-open{overflow:hidden}
