:root{color-scheme:light;--paper: #f3efe6;--panel: #fffdf8;--ink: #1d1a16;--muted: #6d655c;--line: #d9d1c3;--green: #1f4e3d;--green-2: #e7f0ec;--amber: #fdecc8;--amber-ink: #8a5a10;--red: #f8d0d8;--red-ink: #8d1d38;--shadow: 0 16px 40px rgba(40, 32, 20, .08);font-family:Manrope,Segoe UI,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr}.app-shell:has(.workspace){height:100vh;min-height:0;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--line);background:#fffdf8e6;position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-shell:has(.workspace) .topbar{padding:4px 10px}.app-shell:has(.workspace) .mark{width:22px;height:22px;font-size:10px}.app-shell:has(.workspace) .brand{gap:8px}.app-shell:has(.workspace) .brand strong{font-size:13px}.app-shell:has(.workspace) .brand small{font-size:10px}.app-shell:has(.workspace) .nav a,.app-shell:has(.workspace) .btn-quiet{padding:2px 8px;font-size:12px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.mark{width:36px;height:36px;border:1.5px solid var(--green);display:grid;place-items:center;font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--green)}.brand small{display:block;color:var(--muted);font-size:12px}.nav{display:flex;gap:8px;align-items:center}.nav a,.btn,.btn-quiet{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:8px 14px;text-decoration:none}.btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.btn.danger{background:#fff;color:var(--red-ink);border-color:#e7b7c1}.btn:disabled{opacity:.5;cursor:default}.page{width:min(1180px,calc(100% - 32px));margin:28px auto}.auth-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.auth-card{width:min(440px,calc(100% - 32px));margin:10vh auto;padding:28px}.auth-card h1{margin:0 0 8px;font-size:28px}.auth-card p,.muted{color:var(--muted)}label{display:grid;gap:6px;margin:12px 0;font-size:14px}input,select,textarea{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}.stack{display:grid;gap:12px}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.error{color:var(--red-ink);background:var(--red);padding:8px 10px;border-radius:10px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.card{padding:16px;display:grid;gap:8px;text-decoration:none}.card.marked{background:var(--amber);border-color:#e2b15a}.card strong{font-size:18px}.pill.warn{background:#fff7e8;color:var(--amber-ink)}.admin-create{display:grid;grid-template-columns:1.4fr 1fr .8fr auto;gap:12px;align-items:end}.admin-users{width:100%;border-collapse:collapse}.admin-users th,.admin-users td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}@media(max-width:800px){.admin-create{grid-template-columns:1fr}}.meta{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.pill{border-radius:999px;padding:3px 8px;background:var(--green-2);color:var(--green)}.workspace{height:100%;display:flex;flex-direction:column;min-height:0;overflow:hidden;font-size:12px}.workspace>.workspace-grid,.workspace>.page{flex:1;min-height:0}.workspace>.page{overflow:auto;margin:0;width:auto;padding:12px 16px 16px}.workspace .btn{padding:2px 8px;font-size:12px}.workspace input,.workspace select{padding:3px 6px;font-size:12px}.workspace .jobbar{gap:4px;padding:6px 10px}.jobbar{display:grid;gap:8px;padding:12px 16px;background:var(--green-2);border-bottom:1px solid #c9ddd4}.jobbar-text{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}.jobbar-text span{color:var(--muted);font-size:13px}@keyframes jobbar-slide{0%{transform:translate(-120%)}to{transform:translate(320%)}}.filebar,.toolbar,.statusbar{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:4px 10px;border-bottom:1px solid var(--line);background:var(--panel)}.filebar strong{font-size:13px;font-weight:560}.filebar .muted{font-size:11px}.file-title{display:flex;align-items:baseline;gap:8px;min-width:0}.file-title .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-tools{margin-bottom:4px}.table-tools{flex:0 0 auto;padding:4px 6px;background:var(--panel);border-bottom:1px solid var(--line);z-index:3}.statusbar{flex:0 0 auto;border-top:1px solid var(--line);border-bottom:0;font-size:12px;padding:3px 10px}.workspace-grid{display:flex;flex-direction:column;min-height:0}.pdf-pane,.table-pane,.inspector{min-height:0;overflow:auto;background:#ebe6dc}.table-pane,.inspector{background:var(--panel)}.table-pane{display:flex;flex-direction:column;overflow:hidden}.table-scroll{flex:1 1 auto;min-height:0;overflow:auto}.pdf-pane{flex:0 0 var(--pdf-height, 46%);display:flex;flex-direction:column;overflow:hidden;border-bottom:0;padding:4px 8px 0;min-height:120px}.sheet-scroll{flex:1;min-height:0;overflow:auto}.pane-split{position:relative;flex:0 0 10px;cursor:row-resize;touch-action:none;background:linear-gradient(var(--panel),var(--line),var(--panel));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pane-split:after{content:"";position:absolute;left:50%;top:50%;width:36px;height:3px;transform:translate(-50%,-50%);border-radius:99px;background:#8a8175}.pane-split:hover,.pane-split:focus{background:#d5e4dc}.lower-panes{flex:1 1 auto;min-height:120px;display:grid;grid-template-columns:minmax(0,1fr) 220px}.inspector{border-left:1px solid var(--line);padding:8px}.inspector h3{margin:0 0 6px;font-size:13px}.sheet{position:relative;background:#fff;box-shadow:none}.sheet img{width:100%;height:auto;display:block}.box{position:absolute;border:2px solid #b42318;background:#b4231826;pointer-events:none}.tabs{display:flex;gap:4px}.tabs button{border-radius:999px;border:1px solid transparent;background:transparent;padding:2px 8px;font-size:12px}.tabs button.active{border-color:var(--line);background:var(--green-2);color:var(--green)}table.spec{width:max-content;border-collapse:separate;border-spacing:0;font-size:12px;table-layout:fixed}table.spec th,table.spec td{border-bottom:1px solid var(--line);padding:0;vertical-align:top}table.spec tbody tr:not(.spacer){height:28px}table.spec tbody tr:not(.spacer) td{height:28px;box-sizing:border-box}table.spec tr.spacer td{padding:0;border:0}table.spec thead{position:sticky;top:0;z-index:2}table.spec th{position:relative;overflow:hidden;background:#f7f4ee;text-align:left;padding:4px 10px 4px 6px;font-weight:560;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.col-resize{position:absolute;top:0;right:0;width:8px;height:100%;cursor:col-resize;touch-action:none}.col-resize:hover,.col-resize:focus{background:#1b5e4547}table.spec th input[type=checkbox]{margin:6px 8px}table.spec input[type=text]{width:100%;height:28px;box-sizing:border-box;border:0;border-radius:0;padding:0 6px;background:transparent}table.spec tr.section td{background:var(--green-2);font-weight:700;text-align:center}table.spec tr.section input{text-align:center;font-weight:700}table.spec tr.subsection td{background:#f4f7f5;font-style:italic;text-align:center}table.spec tr.subsection input{text-align:center;font-style:italic}table.spec tr.selected{outline:2px solid var(--green);outline-offset:-2px}td.warn input{background:var(--amber)}td.bad input{background:var(--red)}table.spec tr.review td{background:#f7c2d0}table.spec tr.review td.warn input,table.spec tr.review td.bad input,table.spec tr.review input[type=text]{background:transparent}td.user input{box-shadow:inset 3px 0 0 var(--green)}.progress{height:10px;background:#d5e4dc;border-radius:99px;overflow:hidden;width:100%}.progress span{display:block;height:100%;background:var(--green);transition:width .25s ease}.progress.indeterminate span{width:35%;animation:jobbar-slide 1.15s ease-in-out infinite}.check-list{display:grid;gap:8px;align-content:start}.check-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.check-head h2{margin:0;font-size:16px}.check-list article{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.mono{font-family:IBM Plex Mono,monospace;font-size:12px}.guide{width:min(760px,calc(100% - 32px));margin:28px auto 48px}.guide h1{margin:0 0 8px;font-size:28px}.guide h2{margin:28px 0 8px;font-size:18px}.guide p,.guide li{line-height:1.55}.guide ol,.guide ul{padding-left:22px}.guide li+li{margin-top:4px}.guide a{color:var(--green)}@media(max-width:980px){.lower-panes{grid-template-columns:1fr}.pdf-pane,.inspector{border-left:0;max-height:none}.inspector{border-top:1px solid var(--line);max-height:140px}}
