:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1b1b1b;background:#f6f6f4;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:inherit}button{font:inherit;color:#fff;cursor:pointer;background:#1b1b1b;border:0;border-radius:6px;padding:.5rem .9rem}button:hover{background:#333}input{font:inherit;background:#fff;border:1px solid #bbb;border-radius:5px;padding:.45rem .6rem}.page{max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem}.page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.page-header h1{margin:0;font-size:1.4rem}.back{opacity:.7;font-size:.9rem;text-decoration:none}.empty{color:#666}.jobs-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.jobs-list a{background:#fff;border:1px solid #e3e3df;border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem 1rem;text-decoration:none;display:flex}.jobs-list a:hover{border-color:#1b1b1b}.jobs-list .title{font-weight:500}.jobs-list .meta{color:#666;align-items:center;gap:.5rem;font-size:.85rem;display:inline-flex}.status-badge{letter-spacing:.02em;color:#444;text-transform:uppercase;background:#ececea;border-radius:999px;padding:.12rem .55rem;font-size:.72rem;font-weight:600}.status-badge.status-draft{color:#a33;background:#fbe4e4}.status-badge.status-exported{color:#2a6b38;background:#dff0e1}.job-editor .tabs{border-bottom:1px solid #d9d9d4;gap:.25rem;margin-bottom:1rem;display:flex;overflow-x:auto}.job-editor .tabs a{color:#555;white-space:nowrap;border-bottom:2px solid #0000;padding:.55rem .9rem;text-decoration:none}.job-editor .tabs a.active{color:#1b1b1b;border-bottom-color:#1b1b1b;font-weight:500}.form{gap:.9rem;max-width:560px;display:grid}.form label{color:#444;gap:.3rem;font-size:.9rem;display:grid}.hint{color:#666;font-size:.85rem}.placeholder{color:#555;background:#fff;border:1px dashed #c7c7c0;border-radius:10px;padding:2rem}.placeholder h2{margin-top:0}.photos-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.file-btn{color:#fff;cursor:pointer;background:#1b1b1b;border-radius:6px;padding:.5rem .9rem;display:inline-block}.file-btn input{display:none}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.photo-item{background:#fff;border:1px solid #e3e3df;border-radius:8px;gap:.5rem;padding:.75rem;display:grid}.thumb{aspect-ratio:4/3;background:#f0efea;border-radius:6px;justify-content:center;align-items:center;display:flex;overflow:hidden}.thumb img{object-fit:contain;width:100%;height:100%}button.ghost{color:#b33;background:0 0;border:1px solid #e3c2c2}button.ghost:hover{background:#fbeeee}.error{color:#b33}.diagram-editor{outline:none;gap:.75rem;display:grid}.diagram-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.diagram-toolbar .tool-group{flex-wrap:wrap;gap:.25rem;display:flex}.tool-btn{color:#1b1b1b;cursor:pointer;background:#fff;border:1px solid #d9d9d4;border-radius:6px;padding:.4rem .75rem;font-size:.85rem}.tool-btn:hover{border-color:#1b1b1b}.tool-btn.active{color:#fff;background:#1b1b1b;border-color:#1b1b1b}.scale-input{color:#555;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.scale-input input{width:4.5rem;padding:.3rem .4rem}.checklist{background:#fff;border:1px solid #e3e3df;border-radius:8px;overflow:hidden}.checklist-header{color:#1b1b1b;text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:.75rem;width:100%;padding:.6rem .9rem;font-size:.9rem;display:flex}.checklist-header.static{cursor:default}.checklist-header>:first-child{flex:1;font-weight:500}.checklist-toggle{color:#555;cursor:pointer;background:0 0;border:1px solid #d9d9d4;border-radius:5px;padding:.25rem .65rem;font-size:.8rem}.checklist-toggle:hover{color:#1b1b1b;border-color:#1b1b1b}.checklist-progress{color:#666;background:#f0efea;border-radius:999px;padding:.05rem .55rem;font-size:.8rem}.checklist-items{border-top:1px solid #ececea;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.25rem 1rem;margin:0;padding:.25rem .9rem .75rem;font-size:.88rem;list-style:none;display:grid}.checklist-items label{cursor:pointer;align-items:center;gap:.45rem;padding:.25rem 0;display:inline-flex}.diagram-body{grid-template-columns:220px 1fr;align-items:start;gap:.75rem;display:grid}.palette{background:#fff;border:1px solid #e3e3df;border-radius:8px;max-height:620px;padding:.5rem;overflow-y:auto}.palette-heading{letter-spacing:.04em;text-transform:uppercase;color:#666;margin:0 0 .4rem;padding:0 .3rem;font-size:.75rem;font-weight:600}.palette-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.palette-item{color:#1b1b1b;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:.5rem;width:100%;padding:.4rem .55rem;font-size:.82rem;display:flex}.palette-item:hover{background:#f2f1ec}.palette-icon{text-align:center;flex-shrink:0;width:20px;font-size:.95rem}.palette-label{flex:1;line-height:1.2}.diagram-canvas{background:#fff;border:1px solid #d9d9d4;border-radius:8px;gap:.5rem;max-width:100%;display:grid;overflow:auto}.inspector{background:#fff;border:1px solid #e3e3df;border-radius:6px;align-items:center;gap:.6rem;width:fit-content;padding:.4rem .7rem;font-size:.85rem;display:inline-flex}.inspector-label{color:#555;font-weight:500}.inspector-input{color:#555;align-items:center;gap:.35rem;display:inline-flex}.inspector-input input{width:4.5rem;padding:.25rem .4rem}.inspector-hint{color:#777;font-size:.8rem}.text-edit-input{font:inherit;z-index:20;background:#fff;border:1px solid #1b1b1b;border-radius:3px;min-width:6ch;padding:2px 4px;font-size:14px;position:absolute}.canvas-undo-btn{z-index:15;color:#1b1b1b;cursor:pointer;background:#fffe;border:1px solid #1b1b1b;border-radius:6px;padding:.4rem .75rem;font-size:.85rem;position:absolute;top:10px;right:10px;box-shadow:0 1px 3px #0000001a}.canvas-undo-btn:hover{color:#fff;background:#1b1b1b}.edge-edit-input{font:inherit;text-align:center;z-index:20;background:#fff;border:1px solid #1b6fee;border-radius:3px;width:64px;padding:1px 4px;font-size:12px;position:absolute}.testhole-tab{gap:1rem;display:grid}.testhole-flags{gap:.4rem;display:grid}.testhole-flag{background:#fff;border:1px solid #e3e3df;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.testhole-flag .flag-label{flex:1;font-size:.9rem;font-weight:500}.testhole-flag .flag-controls{align-items:center;gap:.9rem;display:inline-flex}.testhole-flag .radio{align-items:center;gap:.35rem;font-size:.9rem;display:inline-flex}.testhole-flag .depth{color:#555;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.testhole-flag .depth input{width:4.5rem}.testhole-table{border-collapse:collapse;background:#fff;border:1px solid #e3e3df;border-radius:8px;width:100%;max-width:520px;font-size:.9rem;overflow:hidden}.testhole-table th,.testhole-table td{text-align:left;border-bottom:1px solid #ececea;padding:.35rem .6rem}.testhole-table th{color:#555;background:#f7f6f2;font-size:.8rem;font-weight:500}.testhole-table tr:last-child td{border-bottom:0}.testhole-table td input{border:1px solid #e3e3df;width:100%;padding:.25rem .45rem}.header-actions{align-items:center;gap:.5rem;display:flex}.user-menu{position:relative}.user-menu-button{color:#1b1b1b;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.35rem;max-width:240px;padding:.4rem .7rem;font-size:.9rem;display:inline-flex;overflow:hidden}.user-menu-button:hover{background:#ececea}.user-menu-button .caret{opacity:.55;font-size:.75rem}.menu{z-index:10;background:#fff;border:1px solid #e3e3df;border-radius:8px;gap:2px;min-width:180px;padding:.25rem;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 20px #00000014}.menu-item{text-align:left;color:#1b1b1b;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;border-radius:6px;padding:.5rem .75rem;font-size:.9rem;text-decoration:none;display:block}.menu-item:hover{background:#f2f1ec}.menu-divider{background:#ececea;height:1px;margin:2px 0}.job-row{align-items:stretch;gap:.25rem;display:flex}.job-row .job-link{flex:1}.icon-btn{color:#999;cursor:pointer;opacity:0;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:.5rem .6rem;transition:opacity .12s,color .12s,background .12s;display:flex}.job-row:hover .icon-btn,.job-row:focus-within .icon-btn{opacity:1}.icon-btn:hover{color:#b33;background:#fbeeee}.icon-btn:focus-visible{opacity:1;outline-offset:2px;outline:2px solid #1b1b1b}.editor-top{flex-wrap:wrap;align-items:baseline;gap:.9rem;display:flex}.editable-title{cursor:text;border-bottom:1px dashed #0000;margin:0;padding:0 2px;font-size:1.4rem;font-weight:700;line-height:1.2;transition:border-color .12s}.editable-title:hover{border-bottom-color:#c7c7c0}.editable-title-input{font:inherit;background:0 0;border:0;border-bottom:1px solid #1b1b1b;outline:none;min-width:10ch;margin:0;padding:0 2px;font-size:1.4rem;font-weight:700;line-height:1.2}.settings-section{margin-bottom:2rem}.settings-section h2{margin:0 0 .4rem;font-size:1.05rem}.installer-list{gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.installer-list li{background:#fff;border:1px solid #e3e3df;border-radius:8px;justify-content:space-between;align-items:center;padding:.55rem .75rem;display:flex}.installer-list .actions{gap:.4rem;display:flex}.installer-list .default-tag{color:#666;margin-left:.4rem;font-size:.8rem}
