:root{--bg:#f1f3f0;--ink:#19221d;--muted:#707971;--line:#dfe4dc;--lime:#c8f55c;--dark:#17231c}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:16px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #72a72d;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:38px;letter-spacing:-1.6px;line-height:1.15}h2{font-size:18px;letter-spacing:-.4px}h3{font-size:15px}p{line-height:1.6;color:var(--muted)}.brand{display:flex;align-items:center;text-decoration:none;font-weight:750;letter-spacing:-.6px;font-size:21px;white-space:nowrap}.brand-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;background:var(--lime);color:var(--dark);width:35px;height:35px;border-radius:9px;font-size:28px;margin-right:10px}.brand-icon span{font-size:17px;position:absolute;right:3px;top:1px}.brand .muted{color:#93a093}.sidebar{position:fixed;inset:0 auto 0 0;width:242px;background:var(--dark);color:#f7fbf2;padding:32px 23px;display:flex;flex-direction:column}.workspace-label{font-size:11px;letter-spacing:1.5px;color:#95a397;margin:54px 10px 17px}.nav-item{border:0;background:none;color:#b1bdb2;display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:15px 12px;border-radius:7px;font-size:14px;margin-bottom:6px}.nav-item span{font-size:22px}.nav-item.selected{background:#30412a;color:var(--lime)}.nav-item b{margin-left:auto;font-size:12px}.side-note{margin-top:auto;padding:24px 12px}.little-qr{color:var(--lime);font-size:34px}.side-note h3{font-size:22px;line-height:1.3;margin:12px 0}.side-note p{font-size:13px;color:#a0aea1}.sidebar-footer{font-size:10px;letter-spacing:1.2px;border-top:1px solid #3b493e;padding-top:22px;color:#93a093;display:flex;justify-content:space-between}.logout{background:none;border:0;color:#b1bdb2;padding:10px 12px;margin-bottom:18px;font-size:14px}.workspace{margin-left:242px;padding:0 42px}.topbar{height:80px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.topbar strong{font-weight:500;color:var(--ink)}.slash{margin:0 13px;color:#b2b9af}.admin-tag{border:1px solid var(--line);border-radius:20px;padding:8px 13px;font-size:12px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:36px 0 28px}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:bold;color:#72806b;margin-bottom:12px}.page-heading p{font-size:14px;margin-top:12px}.lime{color:#7bb339}.format-badge{background:white;border:1px solid var(--line);padding:14px;border-radius:8px;font-weight:bold;font-size:18px}.format-badge span{display:block;font-size:11px;color:var(--muted);font-weight:normal;margin-top:6px}.editor-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:25px;align-items:start}.controls{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.text-button{padding:0;background:none;border:none;font-size:12px;color:var(--muted);text-decoration:underline}.controls label,.generate-fields label,form label{display:block;font-size:13px;font-weight:500}.controls label{margin-top:12px}input:not([type=checkbox]),select{width:100%;background:#fff;border:1px solid #dce1d9;border-radius:6px;padding:10px 11px;color:var(--ink);margin-top:7px;min-height:40px}input[type=number]{font-variant-numeric:tabular-nums}select{font-size:14px}.control-section{border-top:1px solid var(--line);margin-top:24px;padding-top:23px}.control-section h3{margin-bottom:16px}.control-section h3 span{font-size:11px;color:#86907f;margin-right:9px}.two{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.two label{font-size:12px}.field-title{font-size:13px;margin-top:22px}.field-title span,.unit{float:right;color:#899181;font-size:12px}.hint{font-size:12px;line-height:1.55;color:var(--muted);margin:10px 0}.check{display:flex!important;align-items:center;gap:7px;font-size:12px!important;line-height:1.5}.check input{accent-color:var(--dark);width:16px;height:16px;flex-shrink:0}.preview-panel{min-width:0}.preview-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;background:#e6eae3;border:1px solid #dae0d6;border-radius:12px 12px 0 0;padding:17px 20px;font-size:12px}.preview-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#728364;margin-right:6px}.subtle{color:#889080;margin-left:7px}#page-label{font-size:10px;letter-spacing:1px;color:#77806f}.paper-stage{padding:22px 30px 18px;background:#e6eae3;background-image:radial-gradient(#c9d0c2 .65px,transparent .65px);background-size:10px 10px;border:1px solid #dae0d6;border-top:0;border-radius:0 0 12px 12px}.ruler-label{text-align:center;font-size:10px;color:#84917b;margin-bottom:12px}.ruler-label span:before,.ruler-label span:after{content:'—';margin:0 12px}.paper{position:relative;width:min(100%,360px);margin:auto;background:#fff;box-shadow:0 9px 22px #263b1e20;aspect-ratio:210/297}#paper-grid{position:absolute;display:grid}.label-cell{position:relative;border:.5px dashed #c7cfc1;min-width:0;min-height:0}.label-cell svg{position:absolute;display:block}.label-caption{position:absolute;width:100%;text-align:center;font-family:monospace;color:#3e4739;line-height:1}.preview-bottom{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#6c7961;margin-top:22px}.preview-disclaimer{text-align:center;font-size:11px;color:#7e8778;margin:12px 0 24px}.generate-panel{background:white;border:1px solid var(--line);border-radius:12px;padding:24px}.generate-title{display:flex;gap:13px;align-items:center}.step-number{background:#eff6e5;color:#718b4e;font-size:12px;padding:11px;border-radius:8px}.generate-title p{font-size:12px;margin-top:6px}.generate-fields{display:flex;gap:14px;margin:23px 0}.generate-fields .batch-name{flex:1}.generate-fields label:last-child{width:100px}.generate-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.generate-footer>span{font-size:12px;color:var(--muted)}.primary{background:var(--lime);color:#1d3011;font-weight:650;border:1px solid #b2df46;border-radius:7px;padding:13px 18px;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:20px;text-decoration:none}.primary:hover{background:#b9eb4d}.secondary{background:white;border:1px solid var(--line);border-radius:6px;padding:11px 15px;font-size:14px;text-decoration:none}.flow-note{display:flex;justify-content:center;gap:16px;color:#76836b;font-size:11px;margin:22px 0}.flow-note i{font-style:normal;color:#b2bda8}.main-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:24px 0;margin-top:35px;font-size:11px;color:#8a9482}.hidden{display:none!important}.error{background:#fff0ed;color:#9b3020;padding:14px;border-radius:8px;font-size:14px;margin:12px 0}.success{color:#38672c;font-size:14px;margin-top:15px}.batch-card{background:white;border:1px solid var(--line);padding:24px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.batch-card p{font-size:14px;margin-top:6px}.batch-actions{display:flex;gap:10px}.empty{text-align:center;padding:65px 20px;border:1px dashed #bfc9b7;border-radius:12px}.empty h2{margin-bottom:12px}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:10px;margin-top:24px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:15px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:12px}td a{overflow-wrap:anywhere}.status{font-size:12px;background:#edf5e3;color:#45622e;padding:5px 8px;border-radius:5px;white-space:nowrap}.status.pending{background:#f1f2ed;color:#797f70}.public-card{background:white;max-width:480px;margin:8vh auto;padding:40px;border:1px solid var(--line);border-radius:20px;text-align:center}.public-card .brand{justify-content:center;margin-bottom:48px}.public-card .eyebrow{margin-bottom:18px}.public-card h1{font-size:42px;margin-bottom:18px}.public-card p{font-size:15px}.public-card form{text-align:left;margin-top:28px}.public-card footer{font-size:12px;color:#8a9482;margin-top:40px}.wide{width:100%;margin-top:18px}.public-symbol{width:62px;height:62px;display:grid;place-items:center;margin:20px auto;background:var(--lime);border-radius:16px;font-size:36px}.loader{height:64px;width:64px;border:4px solid #edf3e6;border-top-color:#93c940;border-radius:50%;margin:0 auto 32px;animation:spin 1s linear infinite}.destination{font-size:14px;border:1px solid var(--line);border-radius:8px;padding:15px;margin:25px 0;overflow-wrap:anywhere}.destination strong{display:block;margin-top:8px}.progress{height:5px;background:#edf3e6;border-radius:5px;overflow:hidden;margin:24px 0}.progress span{height:100%;display:block;background:#93c940;animation:progress 5s linear forwards}@keyframes spin{to{transform:rotate(360deg)}}@keyframes progress{from{width:0}to{width:100%}}@media(prefers-reduced-motion:reduce){.loader{animation:none}.progress span{animation:none;width:100%}}@media(min-width:1500px){.workspace{max-width:1500px}.paper{width:400px}.editor-grid{grid-template-columns:320px minmax(0,1fr)}}@media(max-width:1150px){.sidebar{width:210px;padding:28px 15px}.brand{font-size:19px}.workspace{margin-left:210px;padding:0 24px}.editor-grid{grid-template-columns:265px minmax(0,1fr);gap:18px}.controls{padding:19px}.generate-footer{align-items:stretch;flex-direction:column}.subtle{display:none}.flow-note{gap:7px;font-size:10px}}@media(max-width:850px){.sidebar{position:static;width:100%;padding:18px 20px;display:flex;flex-direction:row;flex-wrap:wrap;gap:15px;align-items:center}.sidebar .brand{margin-right:auto}.workspace-label,.side-note,.sidebar-footer,.sidebar form{display:none}.sidebar nav{display:flex;gap:5px}.nav-item{margin:0;padding:10px;font-size:12px}.nav-item span{display:none}.workspace{margin:0;padding:0 20px}.topbar{height:60px}.editor-grid{grid-template-columns:260px minmax(0,1fr)}.page-heading h1{font-size:31px}.format-badge{display:none}}@media(max-width:650px){.editor-grid{display:flex;flex-direction:column}.controls,.preview-panel{width:100%}.controls{order:1}.preview-panel{order:0}.page-heading{margin:25px 0}.page-heading h1{font-size:30px}.page-heading p{font-size:13px}.paper{max-width:270px}.main-footer span:last-child{display:none}.public-card{margin:24px 14px;padding:30px 24px}.public-card h1{font-size:36px}.batch-card{align-items:stretch;flex-direction:column}.page-heading{align-items:flex-start}.admin-tag{display:none}.flow-note{font-size:10px}.sidebar nav{width:100%}.nav-item{font-size:14px}.batch-actions{flex-wrap:wrap}.preview-bottom{font-size:10px}}

/* Comfortable control labels at standard zoom. */
.controls label,.generate-fields label,form label,.two label,.field-title{font-size:14px}.check{font-size:14px!important}.hint{font-size:13px}.generate-title p{font-size:14px}.generate-footer>span{font-size:14px}.preview-disclaimer{font-size:12px}
.qr-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;background:white;padding:20px;border:1px solid var(--line);border-radius:10px}.qr-filters label,.bulk-form label,.qr-dialog label{font-size:14px}.selection-toolbar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:20px 0;font-size:14px}.selection-toolbar .text-button{font-size:14px}.bulk-form{background:#e6eddc;border:1px solid #d0dcbe;border-radius:10px;padding:18px;display:flex;flex-wrap:wrap;align-items:end;gap:12px}.bulk-form label{flex:1;min-width:200px}.bulk-form .hint{width:100%;margin:0}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;font-size:14px}#qr-list td{max-width:260px}#qr-list code{font-size:12px;overflow-wrap:anywhere}#qr-list input[type=checkbox]{width:18px;height:18px;accent-color:var(--dark)}.qr-dialog{border:1px solid var(--line);border-radius:16px;padding:28px;width:min(560px,calc(100% - 24px));max-height:90vh;overflow:auto;color:var(--ink)}.qr-dialog::backdrop{background:#17231c99}.qr-dialog label{display:block;margin:16px 0}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.stable-link{font-size:13px;overflow-wrap:anywhere;margin:12px 0 20px;text-align:center}#qr-preview svg{display:block;width:180px;height:180px;margin:20px auto}#qrs-view .table-wrap{margin-top:18px}@media(max-width:650px){.qr-filters{grid-template-columns:1fr}.pagination{font-size:12px}.sidebar nav{flex-wrap:wrap}#qrs-view .page-heading{flex-direction:column}.selection-toolbar{gap:16px}.qr-dialog{padding:20px}}
.home-shell{max-width:1120px;margin:auto;padding:0 32px}.home-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;border-bottom:1px solid var(--line)}.home-main{padding:55px 0 20px}.home-main>h1{font-size:54px;letter-spacing:-2px}.home-intro{max-width:570px;margin:20px 0 32px}.home-generator{display:grid;grid-template-columns:1fr 1fr;background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.home-form{padding:32px}.home-form h2{margin-bottom:26px}.home-form label{margin-top:20px}.home-result{background:#e8efdf;padding:32px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:350px;overflow-wrap:anywhere;min-width:0}.home-result h2{font-size:23px;margin:12px 0}.home-empty-mark{font-size:60px;color:#587637}.home-format{font-size:12px;letter-spacing:1px;color:#657b52;margin-top:35px}.home-downloads{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.home-result .stable-link{max-width:100%;margin-bottom:0}.home-result .text-button{font-size:14px}#public-qr svg{display:block;width:210px;max-width:100%;height:auto;margin:15px auto 25px}.home-result .success{margin:0}@media(max-width:650px){.home-shell{padding:0 20px}.home-main{padding-top:32px}.home-main>h1{font-size:39px}.home-generator{grid-template-columns:1fr}.home-form,.home-result{padding:24px}.home-header .brand{font-size:18px}.home-header{gap:10px}.home-header .secondary{font-size:13px;padding:10px}.home-main .eyebrow{font-size:12px}}
.controls textarea{font:inherit;width:100%;margin-top:8px;min-height:85px;resize:vertical;border:1px solid var(--line);border-radius:6px;padding:10px}.controls input[type=file]{max-width:100%;font-size:12px}.label-art{position:absolute;display:block;object-fit:fill;pointer-events:none}.label-cell{overflow:hidden}
