:root{--ink:#1c1c1e;--muted:#5c5f66;--line:#d8dade;--bg:#f7f8fa;--accent:#14532d;--danger:#a4262c;--danger-bg:#fdf2f2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;line-height:1.5}.app{flex-direction:column;max-width:1320px;min-height:100vh;margin:0 auto;padding:0 1.5rem;display:flex}.app-header{border-bottom:1px solid var(--line);padding:1.75rem 0 1.25rem}.app-header h1{letter-spacing:-.01em;margin:0;font-size:1.5rem}.app-subtitle,.muted{color:var(--muted);margin:.35rem 0 0}.app-main{flex:1;padding:1.5rem 0 2.5rem}.app-main h2{margin-top:0;font-size:1.15rem}.app-main h3{margin-bottom:.35rem;font-size:.95rem}.app-main ul{margin:0 0 1rem;padding-left:1.25rem}.app-footer{border-top:1px solid var(--line);color:var(--muted);padding:1rem 0 1.5rem;font-size:.875rem}a{color:var(--accent)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.metadata{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.field{flex-direction:column;gap:.25rem;min-width:16rem;display:flex}.field label{font-size:.875rem;font-weight:600}.field input{border:1px solid var(--line);font:inherit;background:#fff;border-radius:4px;padding:.4rem .5rem}.field input[aria-invalid=true]{border-color:var(--danger);background:var(--danger-bg)}.toolbar{z-index:2;background:var(--bg);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem 0;display:flex;position:sticky;top:0}button{font:inherit;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:4px;padding:.35rem .75rem}button:hover{border-color:#9aa0a6}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.counters{color:var(--muted);gap:1rem;margin:0 0 0 auto;font-size:.875rem;display:flex}.validation-summary{border:1px solid var(--danger);background:var(--danger-bg);border-left-width:4px;border-radius:4px;margin:.75rem 0;padding:.75rem 1rem}.validation-summary h3{margin:0 0 .4rem;font-size:.95rem}.validation-summary ul{margin:0;padding-left:1.1rem}.saved-notice{background:#eef7f1;border:1px solid #b7d9c1;border-left-width:4px;border-radius:4px;margin:.75rem 0;padding:.6rem 1rem}.table-scroll{border:1px solid var(--line);background:#fff;border-radius:4px;overflow-x:auto}.cutlist-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1180px;font-size:.875rem}.col-index{width:2rem}.col-element{width:8rem}.col-material{width:8.5rem}.col-length,.col-width{width:4.5rem}.col-pieces{width:4rem}.col-rotatable{width:5.5rem}.col-edge{width:6.5rem}.col-actions{width:10.5rem}.cutlist-table th,.cutlist-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:.25rem .3rem}.cutlist-table thead th{z-index:1;background:#eef0f3;font-size:.8rem;position:sticky;top:0}.row-number{color:var(--muted);text-align:right;padding-right:.5rem;font-weight:500}.cell{font:inherit;background:#fff;border:1px solid #0000;border-radius:3px;width:100%;padding:.25rem .35rem}.cell:focus{outline:2px solid var(--accent);outline-offset:-1px}.cell.invalid{border-color:var(--danger);background:var(--danger-bg)}.cell.invalid::placeholder{color:var(--danger)}.row-actions{white-space:nowrap}.row-actions-inner{gap:.25rem;display:flex}.row-actions button{flex:none;padding:.2rem .4rem;font-size:.78rem}
