@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--ink:#182021;--muted:#687171;--soft-muted:#8e9694;--line:#d8dedb;--line-dark:#b7c0bd;--paper:#fffefa;--bg:#f1f3f0;--panel:#f8faf7;--acid:#d7f552;--coral:#f06e4e;--shadow:0 26px 80px #1c26261f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font-family:Manrope,Arial,sans-serif;font-size:14px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #f06e4e52}.app-shell{width:min(1480px,100% - 48px);margin:0 auto;padding:12px 0 28px}.preview-header,.panel-heading,.panel-footer,.section-label,.button-row{align-items:center;display:flex}.eyebrow{color:var(--soft-muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 13px;font-family:DM Mono,monospace;font-size:10px;font-weight:500;line-height:1.3}.panel-heading h2,.preview-header h2{letter-spacing:-.075em;margin:0}.workspace{grid-template-columns:minmax(300px,355px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.control-panel,.preview-panel{border:1px solid var(--line);background:var(--panel)}.control-panel{position:sticky;top:16px;overflow:hidden}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:12px 18px 10px}.panel-heading h2,.preview-header h2{font-size:20px;font-weight:800}.panel-heading .eyebrow{margin-bottom:4px;font-size:8px}.language-button{border:1px solid var(--line);color:var(--soft-muted);background:#edf1ed;border-radius:7px;flex:none;align-items:center;gap:5px;padding:8px 9px;font-family:DM Mono,monospace;font-size:10px;display:flex}.language-button:hover{border-color:var(--line-dark);background:#fff}.language-button .is-active{color:var(--ink);font-weight:700}.preview-header .eyebrow{margin-bottom:4px;font-size:10px}.control-section{border-bottom:1px solid var(--line);padding:14px 18px}.section-label{gap:8px;margin-bottom:9px}.section-label>span{color:var(--coral);font-family:DM Mono,monospace;font-size:11px}.section-label strong{font-size:13px;font-weight:700}.collapsed-value{color:var(--soft-muted);font-family:DM Mono,monospace;font-size:10px}.collapse-button,.rotate-button,.fit-table-button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:6px;flex:none;place-items:center;line-height:1;display:grid}.collapse-button{width:22px;height:22px;margin-left:auto;font-size:16px}.collapse-button:hover,.rotate-button:hover,.fit-table-button:hover{border-color:var(--line-dark);background:#edf1ed}.segmented-control{border:1px solid var(--line);background:#edf1ed;border-radius:9px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.segmented-control button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:7px;font-size:12px}.segmented-control button.is-active{background:var(--ink);color:#fff;box-shadow:0 2px 5px #18202124}.format-row{align-items:end;gap:8px;display:flex}.paper-format-field{flex:1;min-width:0}.rotate-button{width:36px;height:34px;margin-bottom:0;font-size:20px}.table-count-row{align-items:end;gap:8px;margin-bottom:8px;display:flex}.table-count-row .field-grid{flex:0 0 calc(100% - 42px);min-width:0;margin-bottom:0}#table-options>.field-grid.two-columns{width:calc(100% - 42px)}.fit-table-button{align-self:end;width:34px;height:35px;min-height:35px;font-size:18px}.field-grid{gap:10px;display:grid}.two-columns{grid-template-columns:1fr 1fr;margin-bottom:8px}.field{color:var(--muted);gap:5px;font-size:11px;display:grid}.field input[type=number]{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:7px;padding:8px 9px;font-family:DM Mono,monospace;font-size:13px}.measurements{border-top:1px solid var(--line);grid-template-columns:1.1fr 1fr 1fr;gap:7px;margin-top:9px;padding-top:9px;display:grid}.measurement{gap:3px;min-width:0;display:grid}.measurement span{color:var(--soft-muted);white-space:nowrap;font-size:8px}.measurement strong{color:var(--ink);font-family:DM Mono,monospace;font-size:9px;font-weight:500}.measurement.is-negative strong{color:var(--coral)}.upload-button{border:1px dashed var(--line-dark);cursor:pointer;background:#ffffff8c;border-radius:9px;align-items:center;gap:11px;min-height:61px;padding:10px 12px;transition:border-color .16s,background .16s;display:flex}.upload-button:hover{border-color:var(--coral);background:#fff}.upload-button input{opacity:0;width:1px;height:1px;position:absolute}.upload-icon{background:var(--acid);width:30px;height:30px;color:var(--ink);border-radius:7px;flex:0 0 30px;place-items:center;font-size:17px;font-weight:700;display:grid}.upload-thumbnail{border:1px solid var(--line);background:#fff;border-radius:7px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid;overflow:hidden}.upload-thumbnail img{object-fit:contain;width:100%;height:100%}.upload-button strong,.upload-button small{display:block}.upload-button strong{color:var(--ink);font-size:12px}.upload-button small{color:var(--soft-muted);margin-top:3px;font-size:10px}.image-options{grid-template-columns:1.2fr 1fr;gap:9px;margin-top:10px;display:grid}.cell-preview{border:1px solid var(--line);background:#eef1ed;border-radius:8px;margin-top:10px;padding:8px}.cell-preview-heading{color:var(--soft-muted);text-transform:uppercase;justify-content:space-between;gap:8px;font-family:DM Mono,monospace;font-size:8px;display:flex}.cell-preview-frame{border:1px solid var(--ink);background:#fff;place-items:center;width:min(100%,270px);margin:7px auto 0;display:grid;position:relative;overflow:hidden}.cell-preview-image{top:var(--image-padding-y);left:var(--image-padding-x);width:calc(100% - var(--image-padding-x) - var(--image-padding-x));height:calc(100% - var(--image-padding-y) - var(--image-padding-y));max-width:none;max-height:none;display:block;position:absolute}.field select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:7px;padding:8px 9px;font-size:11px}.button-row{gap:8px;margin-top:10px}.secondary-button,.ghost-button,.print-button{border-radius:7px;padding:10px 13px;font-size:11px;font-weight:700}.secondary-button{border:1px solid var(--ink);background:var(--ink);color:#fff}.ghost-button{border:1px solid var(--line);color:var(--muted);background:0 0}.panel-footer{background:#ecf1ebb8;justify-content:space-between;gap:20px;padding:9px 14px}.panel-footer strong{letter-spacing:-.08em;font-family:DM Mono,monospace;font-size:13px;font-weight:500}.panel-footer span{color:var(--soft-muted);font-family:DM Mono,monospace;font-size:9px}.preview-panel{background:#e8ece8;min-width:0}.app-footer{color:var(--soft-muted);letter-spacing:.03em;justify-content:space-between;align-items:center;gap:18px;padding:13px 2px 0;font-family:DM Mono,monospace;font-size:9px;display:flex}.app-footer a{color:var(--ink);letter-spacing:-.04em;font-family:Manrope,Arial,sans-serif;font-size:12px;text-decoration:none}.app-footer a:hover{color:var(--coral)}.preview-header{background:var(--panel);border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 18px 10px}.preview-actions{align-items:center;gap:10px;display:flex}.preview-zoom{border:1px solid var(--line);background:#edf1ed;border-radius:8px;grid-template-columns:repeat(3,auto);gap:2px;padding:3px;display:grid}.preview-zoom button{color:var(--muted);background:0 0;border:0;border-radius:5px;padding:7px 9px;font-size:10px}.preview-zoom button.is-active{background:var(--ink);color:#fff}.preview-header .eyebrow{margin-bottom:4px}.print-button{border:1px solid var(--ink);background:var(--ink);color:#fff;padding:8px 11px;font-size:11px}.print-button span{color:var(--acid);margin-left:8px;font-size:14px;line-height:0;display:inline-block}.preview-stage{place-items:center;min-height:760px;padding:42px 30px;display:grid;overflow:auto}.sheet{aspect-ratio:210/297;background:var(--paper);width:min(100%,760px);box-shadow:var(--shadow);flex:none;position:relative;overflow:hidden}.sheet-zoom-fit{width:min(100%,760px,70.7071vh - 134.343px)}.sheet-landscape.sheet-zoom-fit{width:min(100%,760px,141.429vh - 268.714px)}.sheet-zoom-100{width:210mm;max-width:none}.sheet-zoom-150{width:315mm;max-width:none}.sheet-landscape.sheet-zoom-100{width:297mm}.sheet-landscape.sheet-zoom-150{width:445.5mm}.sheet-landscape{aspect-ratio:297/210}.sheet-grid{width:var(--grid-width);height:var(--grid-height);grid-template-columns:repeat(var(--columns), minmax(0, 1fr));grid-template-rows:repeat(var(--rows), minmax(0, 1fr));gap:0;margin:0;padding:0;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cell{place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.cell-image{top:var(--image-padding-y);left:var(--image-padding-x);width:calc(100% - var(--image-padding-x) - var(--image-padding-x));height:calc(100% - var(--image-padding-y) - var(--image-padding-y));max-width:none;max-height:none;display:block;position:absolute}.cell-image-contain{object-fit:contain}.cell-image-fill{object-fit:fill}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=980px){.workspace{grid-template-columns:1fr}.control-panel{position:static}.preview-stage{min-height:600px}}@media (width<=620px){.app-shell{width:min(100% - 28px,1480px);padding-top:16px}.panel-heading,.control-section,.preview-header{padding-left:18px;padding-right:18px}.preview-stage{min-height:430px;padding:25px 15px}}@media print{@page{margin:0}body{background:#fff}.topbar,.control-panel,.preview-header,.app-footer{display:none}.app-shell,.workspace,.preview-panel,.preview-stage{background:#fff;border:0;width:auto;min-height:0;margin:0;padding:0;display:block}.sheet{width:210mm;max-width:none;height:297mm;box-shadow:none}.sheet.sheet-zoom-100,.sheet.sheet-zoom-150{width:210mm}.sheet.sheet-landscape.sheet-zoom-100,.sheet.sheet-landscape.sheet-zoom-150{width:297mm}.sheet[data-orientation=landscape]{width:297mm;height:210mm}}
