.header{padding:clamp(2rem,6vh,4rem) 0 2.5rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1rem}.header__title{font-size:clamp(2.25rem,1.4rem + 3.4vw,3.25rem);line-height:1.1;letter-spacing:-.025em;font-weight:600;text-align:center;font-synthesis-weight:none;text-rendering:optimizeLegibility;text-wrap:balance}.header__subtitle{max-width:34rem;display:inline-block;font-size:1.125rem;line-height:1.6;color:hsl(var(--muted-foreground));text-align:center;text-wrap:pretty}.whole-page-wrapper{padding:0 1.5rem 4rem;max-width:var(--max-width);width:100%;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1 auto}@media screen and (max-width:500px){.whole-page-wrapper{padding:0 1rem 3rem}}.print-sheet{display:none}@page{size:A4;margin:0}@media print{body.printing-labels>:not(.print-sheet){display:none!important}body.printing-labels{margin:0;padding:0;background:#fff}body.printing-labels .print-sheet{display:block}.print-sheet__page{position:relative;width:210mm;height:296mm;background:#fff;page-break-after:always;break-after:page}.print-sheet__page:last-child{page-break-after:auto;break-after:auto}.print-sheet__cell{position:absolute;display:flex;align-items:center;justify-content:center;padding:2mm;overflow:hidden}.print-sheet__cell img{max-width:100%;max-height:100%}}.generator{width:100%;max-width:960px;border:1px solid hsl(var(--border));border-radius:12px;overflow:hidden;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));text-align:left}.generator__form{padding:2rem;display:flex;flex-direction:column;gap:1.25rem;border-right:1px solid hsl(var(--border))}.generator__field{display:flex;flex-direction:column;gap:.375rem}.generator__label{font-size:.875rem;font-weight:500;line-height:1.4;color:hsl(var(--foreground))}.generator__help{font-size:.8125rem;line-height:1.5;color:hsl(var(--muted-foreground))}.generator [hidden]{display:none!important}.generator__input,.generator__select,.generator__textarea{width:100%;padding:.625rem .875rem;font-size:1rem;line-height:1.5;font-family:inherit;color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 2px);outline:none;box-shadow:0 0 0 3px hsl(var(--ring)/0);transition:border-color .15s ease,box-shadow .15s ease}.generator__input::placeholder,.generator__select::placeholder,.generator__textarea::placeholder{color:hsl(var(--muted-foreground)/.7)}.generator__input:focus-visible,.generator__select:focus-visible,.generator__textarea:focus-visible{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring)/.15)}.generator__textarea{resize:vertical;min-height:9.5rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.generator__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23888' stroke-width='1.5'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.25rem;cursor:pointer}.generator__error{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground));border-radius:.5rem;padding:8px 12px;font-size:.875rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;animation:error-in .2s var(--ease-out-quart) both,error-shake .3s ease-in-out .2s}.generator__error p{margin:0}.generator__fix{flex-shrink:0;border:1px solid hsl(var(--destructive-foreground)/.4);background:transparent;color:hsl(var(--destructive-foreground));font:inherit;font-size:.8125rem;font-weight:500;padding:.25rem .625rem;border-radius:.375rem;cursor:pointer;white-space:nowrap;transition:background-color .15s ease}.generator__fix:hover{background:hsl(var(--destructive-foreground)/.15)}.generator__fix:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--destructive-foreground)/.35)}.generator__hint,.generator__info{font-size:.8125rem;line-height:1.5;color:hsl(var(--muted-foreground))}.generator__hint-switch{border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:.8125rem;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.generator__hint-switch:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring)/.35);border-radius:2px}.generator__details{border-top:1px solid hsl(var(--border))}.generator__details summary{padding:.75rem 0;font-size:.875rem;font-weight:500;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}.generator__details summary::-webkit-details-marker{display:none}.generator__details summary:after{content:"";width:14px;height:14px;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23888' stroke-width='1.5'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E") no-repeat 50%;transition:transform .15s ease}.generator__details summary:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring)/.35);border-radius:4px}.generator__details[open] summary:after{transform:rotate(180deg)}.generator__details-body{display:flex;flex-direction:column;gap:.75rem;padding:.25rem 0 1rem}.generator__range-row{display:grid;grid-template-columns:7.5rem 1fr 2.25rem;align-items:center;grid-gap:.75rem;gap:.75rem}.generator__range-row label{font-size:.8125rem;font-weight:500}.generator__range-row input[type=range]{width:100%;accent-color:hsl(var(--primary))}.generator__range-row input[type=range]:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring)/.35);border-radius:4px}.generator__range-row output{font-size:.8125rem;color:hsl(var(--muted-foreground));text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.generator__check-row{display:flex;align-items:center;gap:.5rem}.generator__check-row input[type=checkbox]{width:1rem;height:1rem;accent-color:hsl(var(--primary))}.generator__check-row input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring)/.35)}.generator__check-row label{font-size:.875rem;cursor:pointer}.generator__actions{display:flex;gap:.625rem;margin-top:auto;padding-top:.5rem}.generator__actions .generator__download{flex-grow:1}.generator__actions .generator__copy{padding:.5625rem .875rem}.generator__actions .generator__copy svg{width:16px;height:16px}.generator__qr-note{font-size:.8125rem;color:hsl(var(--muted-foreground))}.generator__qr-note a{color:hsl(var(--foreground));text-decoration:underline;text-underline-offset:2px}.generator__preview{background:hsl(var(--muted)/.5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem}.generator__preview-card{background:#fff;color:#171717;border:1px solid hsl(var(--border));border-radius:.75rem;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:center;max-width:100%;overflow-x:auto}.generator__preview-card svg{display:block;max-width:100%;height:auto;animation:barcode-print .5s var(--ease-out-quart) 60ms both}.generator__placeholder{border:1px dashed hsl(var(--border));border-radius:.75rem;min-height:9rem;width:100%;max-width:20rem;display:flex;align-items:center;justify-content:center;padding:1rem}.generator__placeholder span{font-size:.875rem}.generator__caption,.generator__placeholder span{color:hsl(var(--muted-foreground));text-align:center}.generator__caption{font-size:.8125rem}.generator__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.generator__seg{display:flex;gap:3px;margin:0;padding:3px;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px)}.generator__seg-input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.generator__seg-label{flex:1 1;text-align:center;padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));border-radius:calc(var(--radius) - 4px);cursor:pointer;transition:background-color .15s ease,color .15s ease}.generator__seg-input:checked+.generator__seg-label{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.generator__seg-input:focus-visible+.generator__seg-label{box-shadow:0 0 0 3px hsl(var(--ring)/.35)}.generator__bulk{display:flex;flex-direction:column;gap:1rem}.generator__bulk-tools{display:flex;align-items:center;gap:.75rem}.generator__csv-button{border:1px solid hsl(var(--border));background:transparent;color:hsl(var(--foreground));font:inherit;font-size:.8125rem;font-weight:500;padding:.375rem .75rem;border-radius:calc(var(--radius) - 2px);cursor:pointer;white-space:nowrap;transition:background-color .15s ease}.generator__csv-button:hover{background:hsl(var(--accent))}.generator__csv-button:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring)/.35)}.generator__series{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:.375rem}.generator__bulk-error{font-size:.8125rem;line-height:1.5;color:hsl(var(--destructive))}.generator__skipped{font-size:.8125rem;line-height:1.5;color:hsl(var(--muted-foreground))}.generator__skipped summary{cursor:pointer;font-weight:500;color:hsl(var(--foreground));padding:.25rem 0}.generator__skipped summary:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring)/.35);border-radius:4px}.generator__skipped ul{margin:.5rem 0 0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.25rem;max-height:11rem;overflow-y:auto}.generator__progress{display:flex;align-items:center;gap:.75rem;font-size:.8125rem;color:hsl(var(--muted-foreground))}.generator__progress progress{flex:1 1;height:.5rem;accent-color:hsl(var(--primary))}.generator__progress span{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@keyframes barcode-print{0%{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0)}to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@keyframes error-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes error-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}@media screen and (max-width:860px){.generator{grid-template-columns:1fr}.generator__form{border-right:0;order:2;padding:1.5rem 1.25rem}.generator__preview{order:1;border-bottom:1px solid hsl(var(--border));padding:1.5rem 1.25rem}}.main-hero{width:100%;height:100%}