:root{color-scheme:light dark}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;padding:2rem}main{max-width:720px;margin-inline:auto}main.wide{max-width:none}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:.5rem;border-bottom:1px solid #8884}code{background:#8882;padding:.1rem .35rem;border-radius:.25rem}.app-header{display:flex;align-items:center;justify-content:space-between}.auth-page{max-width:320px}.auth-page form{display:flex;flex-direction:column;gap:.25rem}.auth-page input{margin-bottom:.75rem;padding:.4rem;font:inherit}.auth-page button[type=submit]{padding:.5rem;font:inherit}.form-error{color:#c0392b}.link-button{background:none;border:none;padding:0;color:#2563eb;text-decoration:underline;cursor:pointer;font:inherit}.app-nav{display:flex;gap:.5rem}.app-nav button{padding:.4rem .8rem;font:inherit;border:1px solid #8884;border-radius:.25rem;background:transparent;cursor:pointer}.app-nav button.active{background:#2563eb;border-color:#2563eb;color:#fff}.projects-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-block:.75rem}.save-status{display:inline-flex;align-items:center;gap:.5rem}.save-status.error{color:#c0392b}.sheet{overflow:auto;max-height:70vh;border:1px solid #8884;margin-block:1rem}.sheet:focus{outline:none}.sheet-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.sheet-table th,.sheet-table td{border-right:1px solid #8884;border-bottom:1px solid #8884;padding:.35rem .5rem;white-space:nowrap;text-align:left}.sheet-table thead th{position:sticky;top:0;background:light-dark(#f5f5f5,#1e1e1e);z-index:2}.sheet-table td.rownum{position:sticky;left:0;background:light-dark(#f5f5f5,#1e1e1e);text-align:center;-webkit-user-select:none;user-select:none;z-index:1}.sheet-table td.rowdelete{text-align:center}.sheet-table td.rowdelete button{border:none;background:transparent;cursor:pointer;font:inherit;line-height:1;padding:.2rem .4rem}.sheet-table td.selected{outline:2px solid #2563eb;outline-offset:-2px}.sheet-table td input,.sheet-table td select{width:100%;box-sizing:border-box;font:inherit;border:none;outline:none;background:transparent;padding:.35rem .5rem;margin:-.35rem -.5rem}
